Hand work between agents that don't share a vendor.
One model for the code, another for the adversarial review, a third for the research pass. What they have in common is MCP — so make the memory the thing they share, and stop being the integration layer yourself.
Nobody runs one model any more.
The teams doing the most interesting agent work aren't loyal to a single provider. They've noticed that one model writes better code, another is a better critic of it, a third is cheaper for the bulk pass that reads four hundred files. Those aren't marketing claims to them — they're observations from watching the same task run both ways.
And the ranking keeps moving. A model that was the obvious choice last quarter isn't this quarter, pricing shifts, rate limits bite at the wrong moment. Building a workflow that assumes one vendor forever is building something you'll rewrite.
Every vendor's memory stops at their walls
Each of these tools has its own idea of persistence — projects, threads, saved instructions, a memory feature. All of it is genuinely useful, and none of it crosses to a competitor. That's not an oversight; it's what those features are for.
Which leaves you as the transport layer. You read the first agent's output, summarize it into the second agent's prompt, and lose the specifics every time — because summarizing is lossy and you're doing it by hand, at the end of a long session, from a scroll-back buffer.
Neutral ground the protocol already reaches
Markbase is a remote MCP server at a public HTTPS endpoint, with OAuth 2.1 sign-in. There is no Markbase SDK and no per-vendor integration to wait for: a client that speaks remote MCP and can complete the authorization flow reads and writes the same workspace, whoever built it.
So the handoff stops being a summary you compose and becomes a path.
The first agent writes its output to
platform/reviews/retry-backoff.md. The second agent reads
that path. Nothing is lost in translation, because there is no
translation — both sides see the same Markdown.
Check your client, though. Support for remote MCP servers and OAuth varies by vendor and by version, and it's moving quickly. Markbase implements the standard; whether a given client speaks it yet is a question about that client.
The conventions travel too
The subtler win is that you only write the working agreement once. An
_markbase.md at a folder root says what that folder is for,
what the frontmatter contract is, and what's append-only — and every
agent that touches the folder reads it, regardless of which company
trained it.
Compare that with maintaining the same instructions in one vendor's project settings, another's config file, and a third's system prompt, and keeping all three in step as your conventions change. The conventions belong with the data, not replicated into every harness.
Overlap is the normal case here
Agents from different vendors are the least coordinated writers you'll ever have. They don't know about each other, they run at different speeds, and the fast one will happily write over the slow one's work if the store lets it.
Markbase doesn't. Every write says which version it is changing; if something landed in between, the write is refused with the current version rather than applied, and the agent re-reads and redoes its edit. The server never merges on an agent's behalf — that's a decision an agent should make with the current text in front of it.
In practice
One writes. Another reads.
Two agents, two vendors, no copy-paste between them — the workspace path is the whole interface. The reviewer picks up the write-up and the project's accepted decisions in the same breath.
1 · The implementer writes it down
2 · A different agent reviews it
What makes it work
Three primitives, doing the work.
A protocol, not an integration
Markbase is a remote MCP server with OAuth 2.1 at a public HTTPS endpoint. There's no Markbase SDK to adopt and no per-vendor plugin — clients connect the same way they connect to anything else.
A format with no owner
What crosses between agents is UTF-8 Markdown with YAML frontmatter. Nothing has to be exported, converted, or re-parsed on the way, and nothing is lost if you drop a vendor tomorrow.
Safe when they overlap
Agents from different vendors don't coordinate and don't run at the same speed. Writes assert the version they're changing, so overlapping work surfaces as a clean retry instead of a silent overwrite.
More use cases
Other jobs a shared workspace does.
- Decisions & precedent An agent that can't see why you chose Postgres over Redis will cheerfully propose Redis again. A decision log it can query turns settled questions into constraints.
- Session handoff Context windows end; the work doesn't. Write a handoff into the workspace and resume it in a fresh session — on another machine, or with another agent.
- Parallel agent fleets Fan a job out across a fleet and they all reach for the same file. Every write says which version it's changing, so the loser of a race is told, not silently overwritten.
- Onboarding an agent The first thing a fresh agent does is read the workspace — what the system is, what's settled, how to work here — instead of asking you or guessing.
- Background & scheduled agents A nightly run has nowhere to put what it found. Give it a folder and the report is waiting in the morning — for you, and for the next run.
- Research & deliverables Agents produce spreadsheets, PDFs and rendered charts. Keeping them at the same paths as the notes that cite them is what makes the analysis reproducible later.
Free plan, no card
If your multi-model workflow runs through copy-paste.
If you're already routing work between models by hand and feeling the loss at every hop, give them one place to meet instead. Sign in and connect your first two clients — the free plan is enough to see it work.