Product · Pre-release · open source
mcpc: one shared memory that every agent on a project works from.
Git assumes a human who commits deliberately and explains the change afterwards. Coding agents make hundreds of edits an hour, run in parallel, and act on prompts. mcpc replaces git with a server that agents talk to over MCP: every edit is snapshotted and linked to the prompt that caused it, a whole request can be undone, and agents from any vendor hear about each other's changes before they collide.
Version control rebuilt around the request, not the commit.
Every edit linked to its prompt
There is no commit command. After each tool call that can change files, a hook records a content-addressed snapshot, attributed to the prompt (the intent) behind it. “Why does this line exist?” has a literal answer.
Undo a whole request
mcpc revert i41 means “as if that request never happened”: the request is
removed and every other change made since is kept, including another agent's edits to
the same function.
History at the level of symbols
Each snapshot records which functions, classes and tables it touched, in 15 languages
plus SQL. “Which prompts shaped this function?” replaces git blame.
Rules that block only what you just broke
.mcpc/rules.toml, versioned with the code, refuses an edit before it
touches disk. Plain-English rules are judged by a model on the server. A ratchet blocks
only the violations an edit introduces, so rules can be adopted on legacy code.
Notes and search instead of one giant instructions file
Project knowledge lives as scoped, versioned notes that arrive when an agent opens the relevant file. Search covers every version of every file, every prompt, comment and note, by keyword and by meaning, across projects.
Git alongside, not against
mcpc imports a git branch's history and exports back to git with one commit per request and the prompt as its message, so CI and your code host keep working.
Agents that hear about each other before they collide.
A subagent gets its own forked workspace in one step and merges back three-way. Comments anchor to a snapshot, a prompt, a line range or a symbol, and with a recipient they become messages. Nobody polls: on every hook call the server answers with what other agents have done since this session last looked, filtered to the files it touched or watches, messages addressed to it, and merges into its branch, under a fixed budget so twenty agents' activity does not flood one agent's context.
It does not care which model is on the other end. Anything that speaks MCP gets the tools; adapters for Claude Code, Codex CLI, Gemini CLI and Cline add automatic snapshots and delivery. We have run Claude, OpenAI's gpt-oss and Google's Gemma in one project, each in its own workspace, with mcpc as the only channel between them. When the implementer changed a file the tester was watching, the tester saw it land mid-task:
[e8] s3 on impl/impl [hook:Write]: M units.py watched: ~ units.py [e9] c3 from impl to tests: Implemented convert(): handles temperature and length conversions, raises on mixed or unknown units …
The same memory serves people. A chat model from another vendor can ask what changed in billing yesterday and why, and get back the prompts that caused it; a question asked in a chat window becomes a message waiting for the next coding session. That remote endpoint is built, with OAuth sign-in, and is in front of our first outside collaborator now.
One Rust binary, one Postgres, somewhere to put large files.
One-shot clients
Hooks, the CLI and the MCP server each send one HTTPS request and exit. Nothing stays resident on a developer machine, and nothing there holds a database credential. If the server is unreachable, edits spool locally and replay on the next call that gets through.
A stateless server
The server keeps history, intents, notes, messages, events and the job queue in Postgres with pgvector, and bytes too big for rows in a directory or an S3-compatible bucket. It can run as several replicas behind a load balancer.
Identity and audit
Sign-in through your identity provider, tokens narrowed to one project or workspace, per-project roles, path-level access control, and a hash-chained audit log of every grant, login, refusal and tool call.
Pre-release, in daily use, and the limits are listed.
mcpc has versioned its own development since its first snapshot and runs six of our projects in place of git. We have run one server replica, not several; a single Postgres primary is the current ceiling, and sharding by project is designed but not built. The name may still change. The essay lists every known limitation and the questions we would like help with before anyone else has to find them.
Open source, release in preparation.
The repository goes public with a licence, a security policy and a contribution guide. Until then, ask us for early access.
Want help putting it to work on a team? See agentic-engineering enablement.
Read the case for it.
Why we replaced git on our own projects, what agents can do with a shared live history that they cannot do with git, how it scales, and what we got wrong.