Remembra Relay: one agent stops, the next one already knows. Session handoffs built from git facts, for the next coding agent in any MCP tool, on any machine. MCP server + CLI. MIT.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Install pipes a remote script into a shell (curl | sh)
claude mcp add remembra -- python -m remembra{
"mcpServers": {
"remembra": {
"command": "python",
"args": ["-m", "remembra"],
"env": {
"REMEMBRA_URL": "<remembra_url>"
}
}
}
}REMEMBRA_URLMCP Servers overview
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="landing/brand/lockup-horizontal-dark.svg">
<img src="landing/brand/lockup-horizontal.svg" alt="Remembra" width="320">
</picture>
</p>
<h1 align="center">Remembra Relay</h1>
<p align="center">
<strong>One agent stops. The next one already knows.</strong><br>
When an agent's session ends, Remembra Relay saves a handoff built from what git says happened.<br>
The next agent, on another machine, from another vendor, or next week, starts from it.
</p>
<p align="center">
<a href="https://pypi.org/project/remembra/"><img src="https://img.shields.io/pypi/v/remembra?color=blue&label=PyPI" alt="PyPI"></a>
<a href="https://github.com/remembra-ai/remembra/stargazers"><img src="https://img.shields.io/github/stars/remembra-ai/remembra?style=social" alt="GitHub Stars"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://docs.remembra.dev"><img src="https://img.shields.io/badge/docs-remembra.dev-blue" alt="Documentation"></a>
</p>
<p align="center">
<a href="https://remembra.dev">Website</a> •
<a href="https://docs.remembra.dev/guides/relay/">Relay guide</a> •
<a href="https://docs.remembra.dev">Docs</a> •
<a href="https://remembra.dev/changelog">Changelog</a> •
<a href="https://discord.gg/mPYQRKzXz5">Discord</a>
</p>
<!-- mcp-name: io.github.remembra-ai/remembra -->
---
## Install
First get a free key at [app.remembra.dev](https://app.remembra.dev/signup), then run:
```bash
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: run `/hooks` in Codex once.
[Hosting the server yourself](https://docs.remembra.dev/getting-started/docker/)? Add `--url <your server>` 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](https://docs.remembra.dev/guides/relay/#doctor).
## What the next agent sees
Claude Code finished a session and wrote in its summary that the work was done and pushed. Git disagreed. The next agent's brief starts with:
<!-- readme-brief: generated by remembra.relay.handoff.render_last_session; tests/test_readme_relay.py keeps it true -->
```text
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 collected by remembra-relay from git and the session transcript) (the agent's summary contradicts these recorded facts)
```
The done, not done and failing sections come from git and the session's test runs, never from an LLM. The agent's own summary is optional; it is checked against those facts and shown as unverified, or, as here, contradicted.
## How it works
1. **Close.** When a session ends, `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 never leaves your machine; secrets are redacted before anything does.
2. **Brief.** When the next session starts, in the same tool or another, `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, in about 1,500 tokens. Everything another agent recorded is wrapped as untrusted data.
3. **Trail.** Every handoff stays in order: `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.
## Agents
| 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 once with `/hooks` in Codex |
| 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; no stable Codex release has been run yet). 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.
## How it compares
| | 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, in build | Claude-only agent teams | No | No |
Details, with a source and date for every claim: [Remembra and other handoff tools](docs/comparisons/handoff-tools.md). claude-mem and agentmemory are larger projects that also carry memory between sessions; the comparison says where each is the better pick.
## Pricing
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](https://remembra.dev/pricing)). Self-hosting is free under the MIT license.
---
# The memory API underneath
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.
```python
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)
# "Sarah from Acme Corp prefers email over Slack."
```
In v0.16.0 the memory layer also keeps the exact source text of every derived fact, points each fact back to it, and flags a fact that does not match its source as unverified.
## Self-host the server (2 minutes)
### One Command Install
```bash
curl -sSL https://raw.githubusercontent.com/remembra-ai/remembra/main/quickstart.sh | bash
```
That's it. Remembra + Qdrant + Ollama start locally. No API keys needed.
**Or with Docker Compose directly:**
```bash
git clone https://github.com/remembra-ai/remembra && cd remembra
docker compose -f docker-compose.quickstart.yml up -d
```
**Try it:**
```bash
# 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"}'
# Recall it
curl -X POST http://localhost:8787/api/v1/memories/recall \
-H "Content-Type: application/json" \
-d '{"query": "Who runs Acme?", "user_id": "demo"}'
```
### Connect your agents (since v0.10.0)
**One command configures the agents it detects:**
```bash
pip install remembra
remembra-install --all --url http://localhost:8787
```
This auto-detects and configures: Claude Desktop, Claude Code, Codex CLI, Cursor, Gemini CLI. (Windsurf is unverified: `remembra-install --agent windsurf` writes it, `--all` does not.)
**Verify setup:**
```bash
remembra-doctor all
```
<details>
<summary>Manual MCP Config (if needed)</summary>
**Claude Desktop** — add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"remembra": {
"command": "remembra-mcp",
"env": {
"REMEMBRA_URL": "http://localhost:8787",
"REMEMBRA_USER_ID": "default"
}
}
}
}
```
</details>
**Claude Code:**
```bash
claude mcp add remembra -e REMEMBRA_URL=http://localhost:8787 -- remembra-mcp
```
**Cursor** — add to `.cursor/mcp.json`:
```json
{
"mcpServers": {
What people ask about remembra
What is remembra-ai/remembra?
+
remembra-ai/remembra is mcp servers for the Claude AI ecosystem. Remembra Relay: one agent stops, the next one already knows. Session handoffs built from git facts, for the next coding agent in any MCP tool, on any machine. MCP server + CLI. MIT. It has 15 GitHub stars and its last recorded update is dated 2026-09-27.
How do I install remembra?
+
You can install remembra by cloning the repository (https://github.com/remembra-ai/remembra) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is remembra-ai/remembra safe to use?
+
Our security agent has analyzed remembra-ai/remembra and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains remembra-ai/remembra?
+
remembra-ai/remembra is maintained by remembra-ai. The last recorded GitHub activity is dated 2026-09-27, with 6 open issues.
Are there alternatives to remembra?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy remembra to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/remembra-ai-remembra)<a href="https://claudewave.com/repo/remembra-ai-remembra"><img src="https://claudewave.com/api/badge/remembra-ai-remembra" alt="Featured on ClaudeWave: remembra-ai/remembra" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
The fastest path to AI-powered full stack observability, even for lean teams.