Event-sourced ticket system with a Jira reconciler, exposed as an MCP server.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An event-sourced, git-backed ticket store + Jira reconciler built for agent swarms β one store, exposed as a Python library, a CLI, and an MCP server.
rebar), a Python
library (import rebar), or an MCP server (rebar-mcp).tickets git branch; no database, no daemon, and it travels with every clone.main
must pass an LLM code review and CI, on Gerrit, before it lands.Run one ticket end-to-end with the CLI or the Python library; the JSON block is the
MCP server config so agents can drive the same loop over MCP. rebar --help (and
rebar <command> --help) is the authoritative command reference.
That's the whole loop β init β create β ready β claim β close. The CLI and Python blocks each drive one ticket end-to-end (the same id threaded through every step, no hard-coded id); the JSON is the MCP server config β add it to your client so an agent can run the same loop via the MCP tools. State is shared through the repo so many agents (and teammates via Jira) coordinate without stepping on each other.
rebar stores tickets as an append-only event log on a dedicated tickets git
orphan branch (worktree at .tickets-tracker/); ticket state is computed by replaying
events, and every write auto-commits and pushes so the store is shared immediately. A
level-triggered reconciler bidirectionally syncs tickets with Jira. The branch name
and worktree dir are configurable (tracker.branch / tracker.dir β see
Configuration). Reads stay sub-second into the thousands of tickets;
for measured numbers and git-growth expectations see
docs/scale-envelope.md.
Documentation lives under docs/ β start with the
docs index (grouped by audience: user / operator / contributor /
agent) or the day-to-day user guide.
If you run coding agents against a repo, you eventually want to run several at once β and the moment you do, they need a shared place to coordinate. Most trackers weren't built for that:
rebar's answer is to make the tracker part of the repo. Tickets are an
append-only event log on a dedicated tickets orphan branch (linked in through a
gitignored worktree); current state is a fast, deterministic replay of that log.
That single decision pays off across the board:
claim is an
atomic, optimistic-concurrency primitive: agents grab work without stepping on
each other.On top of that foundation, rebar adds what parallel agent work actually needs:
next-batch hands parallel agents work that won't collide on the same files.discovered_from ties emergent work back to the ticket
that surfaced it.System prerequisites:
git is a runtime prerequisite because the store uses a Git orphan branch and worktree. The runtime engine uses in-process Python and does not require bash or jq..github/git-version-floor.txt. The test suite and CI fail when Git is below that floor.git merge-tree --write-tree.fcntl.flock(LOCK_EX)
advisory lock plus an atomic mkdir lock (src/rebar/_store/lock.py) β so there
is no dependency on util-linux's flock binary (or any other external tool).
The mkdir window keeps mutual exclusion holding even where fcntl.flock is
unreliable (e.g. some network filesystems).acli (Atlassian CLI) β a
required external binary for the Jira Cloud reconciliation/bridge path: every
bridge/reconcile Cloud mutation shells out to it, so it must be installed on
PATH (install pointer: docs/jira-sync-setup.md). The
[jira-datacenter] Data Center path does not need it β it uses the jira
Python library.Python dependencies. A base install (pip install nava-rebar) provides the rebar CLI, the import rebar library, and the lean workflow engine. It installs pyyaml>=6 for the workflow DSL loader, jsonschema>=4.18 for schema registry and workflow input and output validation, and referencing>=0.30 for JSON Schema $ref resolution. The engine core and reconciler otherwise use the Python standard library. All other dependencies are optional extras that are imported lazily to keep the base installation light. CI verifies this boundary.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/rebar)<a href="https://allmcps.com/mcp/rebar"><img src="https://allmcps.com/api/badge/rebar?style=directory" alt="Rebar on AllMCPs" /></a>