Federated memory for AI agents

Every agent has a memory.
Now they can share. Any markdown brain — behind a gate, reachable over MCP.

Wormhole lets one AI agent reason over another's memory — an LLM-wiki, a CLAUDE.md, an agent's notes — as if it were native. You open exactly what you choose; their agent gets the knowledge, your brain never leaves your machine.

What it is

A shared brain any AI agent can reason with.

Point Wormhole at a folder of markdown — your notes, your wiki, your agent's memory. It stands a small server in front of it and hands you a link. Give that link to someone, and their AI agent reads your knowledge as if it were its own — asks questions, follows the thread, reasons over it. You decide, page by page, exactly what they can see.

Native, not a lookup

The shared pages are simply there in the agent's context — it reasons over them like its own memory. No "go fetch" step, no clumsy integration.

You stay in control

Your brain never leaves your machine. A gate at your side opens only the pages you choose — by name, or your whole wiki minus the sensitive bits.

Nothing to build

It's plain markdown + MCP, the open standard agents already speak. One line to share, one line to connect. Works with Claude, Codex, anything MCP.

What counts as a brain

Any memory written in plain markup.

If your knowledge lives in markdown that an agent already treats as its own, Wormhole can share it. A folder of .md is all it takes:

LLM-wikis · Karpathy / Obsidian vaults CLAUDE.md + memory files OKF brains agent-memory frameworks any .md knowledge base

The server doesn't care which. It reads a folder of markdown, serves only what the gate opens, and never touches your [[links]] — the consuming agent interprets those. Frontmatter is optional. Point it at any folder.

The mechanism

Two standard MCP pieces. One invisible seam.

🌀 In physics, a wormhole binds two points in spacetime into one place — no distance, no travel. Here it binds one brain into another agent's mind: the shared memory is simply there in its context, native. A server in front of your brain, a client at the agent — the knowledge just is.

MCP server · node B
🧠
in front of your brain
serves your markdown through a per-consumer gate
MCP client · node A
🤖
someone's AI agent
connects, reasons over the shared pages as its own

Whoever thinks, pays: node B just serves the shared pages (near-free — it's file-serving); node A's agent does the reasoning, on its own dime. The economy settles itself through where the work sits.

Try it now

The Dune Archive 🪱

A public demo brain of Dune lore — Arrakis, the spice, sandworms, the Bene Gesserit. Token-less: add it to any MCP client with just a URL, and your agent knows it all.

# public — one line, no token
claude mcp add dune-archive https://www.davidbicho.com/wormhole/dune-demo/mcp.php --transport http

# then ask
claude "Why does whoever controls Arrakis control the universe?"

Your agent calls the wormhole, reads the linked markdown, and answers — spice powers the Navigators, Navigators fold space, so whoever holds Arrakis holds the Imperium. It reasons over a brain that's someone else's, as if it were its own.

Become a node

Share your brain — let Claude install the server

You're the sharer — you run a server in front of your brain. Paste one line to Claude (Claude Code, or any agent with file + shell access). It downloads the server, drops it into your vault, walks you through the gate, tests it, and hands you a URL to share.

"Install the Wormhole server for my markdown brain —
 follow https://www.davidbicho.com/wormhole/INSTALL-WITH-CLAUDE.md"

Rather set it up yourself? Download the server (12 KB) and follow the README — same result, more hands-on.

The other side — connecting a client

The consumer runs no server. Their AI agent (Claude, Codex) is the client — they point it at your URL, one line:

# on the consumer's machine — nothing to install, their agent speaks MCP
claude mcp add a-brain <the URL you gave them> --transport http
#            ^ any name they pick
🔒 You choose what leaks. Default-deny — open pages by name, or share your whole brain and exclude the sensitive bits by filename glob, content keyword, or _-prefix. Claude walks you through it and confirms before anything goes public. You stay in control.