GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Cross-agent handoff: the next coding agent starts from the last one's facts, not a blank page.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
REMEMBRA_API_KEY, REMEMBRA_URL, REMEMBRA_AGENT_IDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"remembra": {
"command": "uvx",
"args": [
"remembra-mcp"
],
"env": {
"REMEMBRA_API_KEY": "your-value",
"REMEMBRA_URL": "your-value",
"REMEMBRA_AGENT_ID": "your-value"
}
}
}
}Run this in your terminal
claude mcp add remembra --env REMEMBRA_API_KEY=your-value --env REMEMBRA_URL=your-value --env REMEMBRA_AGENT_ID=your-value -- uvx remembra-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"remembra": {
"command": "uvx",
"args": [
"remembra-mcp"
],
"env": {
"REMEMBRA_API_KEY": "your-value",
"REMEMBRA_URL": "your-value",
"REMEMBRA_AGENT_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"remembra": {
"type": "stdio",
"command": "uvx",
"args": [
"remembra-mcp"
],
"env": {
"REMEMBRA_API_KEY": "your-value",
"REMEMBRA_URL": "your-value",
"REMEMBRA_AGENT_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
REMEMBRA_AGENT_ID envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account remembra-ai, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: REMEMBRA_API_KEY, REMEMBRA_URL
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.17.5) reached the registry 13 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Remembra Relay
One agent stops. The next one already knows.
When a connected agent's session ends, Remembra Relay saves a handoff (a session that did nothing leaves none).
With the session hooks it is built from git and, for Claude Code and Codex, the session transcript.
An agent that closes through MCP reports its own facts, marked unverified.
The next agent, on another machine, from another vendor, or next week, starts from it.
Website • Relay guide • Docs • Changelog • Discord
First get a free key at app.remembra.dev, then run:
pipx install --force 'remembra[mcp]>=0.16'
remembra-install --all remembra-relay connect --apply
remembra-install asks for the key at a hidden prompt (or reads REMEMBRA_API_KEY) and shows its changes before it writes. connect --apply writes the hooks and keeps a backup of each file; run remembra-relay connect alone first to see every change without writing. Codex runs the hooks only after you trust them: Settings > Hooks > Trust in the Codex app, or /hooks in the Codex CLI. When a hook's command changes, Codex skips it until you trust it again. Hosting the server yourself? Add --url to remembra-install. remembra-relay ships in remembra 0.16.0.
Handoffs not arriving? remembra-relay doctor says where the baton dropped, from this machine's files and your trail, with one fix per problem; it only reads. Inside your agent the local MCP server has the same checks as read-only tools: remembra_doctor, remembra_setup (the install steps for this machine) and remembra_help. See Doctor.
Claude Code finished a session and wrote in its summary that the work was done and pushed. Git disagreed. The next agent's brief includes this line:
Last session: claude-code (key-verified), 12m ago, on feat/pdf-export@a41f2c9: done: a41f2c9 Add PDF export for invoices; 77c01aa Embed fonts in exported PDFs; tests passing: pytest tests/test_pdf.py (12 passed); changed 3 file(s): invoices/pdf.py, invoices/fonts.py, tests/test_pdf.py / NOT done: 2 commit(s) not pushed to origin/feat/pdf-export / failing: none / next (derived from the recorded facts): push 2 commit(s) to origin/feat/pdf-export (facts reported as collected by remembra-relay from git and the session transcript (not checked)) (the agent's summary contradicts these recorded facts)
With the session hooks, remembra-relay builds the done, not done and failing sections from git and, for Claude Code and Codex, the session's test runs, never from an LLM. The server does not check where the facts came from; the brief says they were reported by remembra-relay. The agent's own summary is optional; it is checked against those facts and shown as unverified, or, as here, contradicted. A handoff written through the close_session MCP tool holds the facts the agent declares, labeled "declared by the agent (not checked)".
remembra-relay close reads the branch, commits, changed and uncommitted files and unpushed commits from git, and, for Claude Code and Codex, the commands, test runs and open items in the local transcript (Codex's is its rollout file). The transcript itself stays on your machine. Secrets that match Remembra's patterns are redacted from what is sent.remembra-relay brief (run by the verified session hooks) or the session_brief MCP tool (any MCP agent can call it) gives the agent who worked last, what is done, what is failing and the next step. The text brief is capped at about 1,500 tokens (6,000 characters). session_brief returns only that text with compact=true; by default it also returns the full brief as JSON, which is larger. Everything another agent recorded is wrapped as untrusted data.remembra-relay trail, or the Trail page in the dashboard. A git log for your agents.The same repository on a laptop, a server or in a worktree is one project, because it is identified by its git remote. Give each agent its own scoped key and its handoffs show as key-verified.
| Agent | Session hooks | How it reads and writes handoffs today |
|---|---|---|
| Claude Code | verified | Hooks: brief at start, close at end, with test results from the transcript |
| Codex | verified (codex-cli 0.155.0-alpha.16.4, a prerelease) | Hooks: brief at start, close at end, with commands and test runs from the rollout; trust them in Codex (Settings > Hooks, or /hooks in the CLI), and again when one changes |
| Gemini CLI | verified (Gemini CLI 0.61.0) | Hooks: brief at start (after /clear, with the first prompt), close at end; they run only in folders you trust |
| Qwen Code | verified (Qwen Code 0.24.6) | Hooks: brief at start, close at end, on a rate-limit or billing stop and before /compress; qwen -p writes no handoff |
| Kimi Code | verified (Kimi Code 2.1.1) | Hooks: brief with the first prompt, close when the TUI exits; kimi -p writes no handoff |
| Cursor | unverified | MCP tools (session_brief, close_session) |
| Any other MCP agent | none | MCP tools |
Claude Code's and Codex's session hooks are verified (Codex with codex-cli 0.155.0-alpha.16.4, a prerelease, and the same tests also pass on the stable 0.157.1). The Gemini CLI, Qwen Code and Kimi Code hooks are verified too: each was run against the real tool at the version in the table, with a local stand-in for the model, and put the brief in the model's request and posted the handoff; other versions have not been run. The Cursor hooks are unverified: Cursor's own hook runner ran them, but no logged-in Cursor session has yet. connect leaves them out unless you add --include-unverified. Until they are tested, Cursor reads the brief and writes its handoff through Remembra's MCP tools, as does any MCP agent.
Several agents in one repository at once, without one undoing another's work. Name the areas of the repo in .remembra/zones.yml and commit it on the default branch:
version: 1
zones: api: include: ["src/api/"] web: include: ["src/web/"]
Then, at a terminal (it shows every change and asks before writing):
remembra-crew connect --apply # Claude Code
remembra-crew connect --agent codex --include-unverified --apply remembra-crew verify --agent codex # one round trip on your machine; Codex then enforces
The first agent to write in a zone holds it. Another agent's write there is stopped before it happens and the agent is told who holds it; it can ask for a handover with crew_say, or you hand it over from the dashboard.
| Agent | Writes to a held zone |
|---|---|
| Claude Code | stopped before every write (hooks verified) |
| Codex | stopped after remembra-crew verify --agent codex passes: shell commands and every file an apply_patch names (checked live on codex-cli 0.157.1) |
| Gemini CLI, Qwen Code, Kimi Code | stopped once verify passes on your machine; until then, read-only fence |
| Cursor and other agents | read-only fence in their own worktree; MCP-only agents are advisory |
Git hooks (connect --git-hooks) also stop a commit or push that touches a held zone, for every agent. The honest limit: these local layers stop cooperating agents' mistakes, not a deliberately hostile agent on the same machine. Crew mode needs a server that runs it (REMEMBRA_CREW_MODE; on for Remembra Cloud). The guide is Crew mode.
| Remembra Relay | Vendor memory (Claude Code, Codex, Copilot, Windsurf) | Local handoff tools | Memory APIs (Mem0, Zep, Letta) | |
|---|---|---|---|---|
| Works across machines | Yes, by git remote | Mostly no | No | Yes |
| Works across vendors | Yes | No, one vendor each | Yes | Through their API |
| Handoff facts from git | Yes, with the summary checked | No | Transcript or diff | No |
| Durable trail of sessions | Yes | No | No | No |
| Enforced coordination between agents | Crew mode (Claude Code; Codex once verified) | Claude-only agent teams | No | No |
Details, with a source and date, for claude-mem, agentmemory, the local handoff tools and Claude Code's own features: Remembra and other handoff tools. claude-mem and agentmemory are larger projects that also carry memory between sessions; the comparison says where each is the better pick.
Handoffs, briefs, the inbox, the trail and search are free on every plan. Remembra Cloud: Free, Solo $12/mo, Pro $29/mo, Team $15/seat/mo (pricing). Self-hosting is free under the MIT license.
Remembra Relay runs on Remembra's memory layer, which you can also use directly: store facts, recall them by meaning, and let it pull out the people, projects and relationships in them.
from remembra import Memory
memory = Memory(user_id="user_123") memory.store("Had a meeting with Sarah from Acme Corp. She prefers email over Slack.") result = memory.recall("How should I contact Sarah?") print(result.context)
Since v0.16.0 the memory layer also keeps the exact text that facts were derived from and points each fact back to it. By default a fact that does not match its source is not stored: the store response lists it under dropped_facts. With REMEMBRA_GROUNDING_ACTION=flag such a fact is stored and marked unverified instead.
curl -sSL https://raw.githubusercontent.com/remembra-ai/remembra/main/quickstart.sh | bash
This starts Remembra, Qdrant and Ollama locally, with auth off and local embeddings, so the server needs no API key. The first start downloads the images and the embedding model, so how long it takes depends on your connection.
Or with Docker Compose directly:
git clone https://github.com/remembra-ai/remembra && cd remembra
docker compose -f docker-compose.quickstart.yml up -d
Try it:
# Store a memory
curl -X POST http://localhost:8787/api/v1/memories \ -H "Content-Type: application/json" \ -d '{"content": "Alice is CEO of Acme Corp", "user_id": "demo"}'
curl -X POST http://localhost:8787/api/v1/memories/recall \ -H "Content-Type: application/json" \ -d '{"query": "Who runs Ac
Only the beginning is shown; read the rest in the repo