repomemory
MCP server that captures and recalls coding session memory (failures, decisions, diffs) for AI agents, enabling cross-agent continuity and preventing repeated mistakes.
README
<div align="center">
🧠 RepoMemory
Turn coding-agent sessions into portable, repo-aware memory.
Claude broke the build. Codex picks it up. RepoMemory makes sure it doesn't repeat the same mistake.
</div>
Stop repeating the same mistakes across agent sessions
RepoMemory is a repo-aware memory layer + MCP server for coding agents. It captures what happened in one session and reuses it in the next. When context persists, momentum persists.
The Problem
AI coding agents don't share memory by default. Each session starts from scratch. Known failures and rationale disappear. The same mistakes get repeated.
The Solution
RepoMemory records failures, diffs, decisions, and file relationships. It stores this in a local memory graph and serves it to any MCP client. The next agent starts informed, not blind.
Before RepoMemory
- Claude fails
- Codex starts fresh
- Codex repeats the same error
After RepoMemory
- Claude fails
- RepoMemory captures why
- Codex recalls context
- Codex succeeds
Demo
# Claude's session: refactoring fails
repomemory capture git-diff --agent claude
repomemory capture test --output "..." --status fail --agent claude
repomemory capture decision --message "Auth middleware needs JWT validation" --agent claude
# Switch to Codex: full context automatically
repomemory recall src/middleware/auth.ts
# → Recent failures: JWT validation missing in auth middleware
# → Decision: needs JWT validation before route handlers
# → Related files: src/routes/api.ts, src/config/jwt.ts
# Daily usage
repomemory init
repomemory capture git-diff --agent codex --files src/middleware/auth.ts
repomemory search "jwt validation" --file src/middleware/auth.ts
Features
- 🧠 Repo-aware memory graph backed by SQLite
- 🔁 Cross-agent continuity (Claude, Codex, Cursor, OpenHands)
- 🧩 MCP server for in-session memory retrieval
- 📂 File-level recall with related-file discovery
- 🧪 Failure-aware capture from tests and terminal logs
- 🌿 Git-aware capture of diff and commit history
- ⚡ Fast local-first search and recall
- 📦 Portable exports (
jsonorsqlite)
Quick Start
npm i -g repomemory
repomemory init
repomemory serve
Alternative (no global install):
npx repomemory init
npx repomemory capture git-diff --agent codex
npx repomemory recall src/index.ts
MCP Integration
Use RepoMemory from any MCP client:
{
"mcpServers": {
"repomemory": {
"command": "npx",
"args": ["repomemory", "serve"]
}
}
}
Compatible with:
- Cursor
- Claude Desktop
- VS Code
- Any MCP-compatible client
Available MCP Tools
| Tool | What it does | Typical prompt |
|---|---|---|
search_memory |
Search memory entries by query/filter | "Find recent JWT auth failures" |
why_changed |
Explain rationale behind file changes | "Why was middleware order changed?" |
recent_failures |
List recent failed attempts | "What already failed in this area?" |
recall_context |
Return consolidated file context | "Load context before I edit" |
related_files |
Find files changed together | "What neighboring files matter here?" |
remember |
Write a memory entry | "Save this decision" |
get_stats |
Show memory activity and volume | "How much memory is captured?" |
How It Works
graph TB
A[Agent Session] --> B[Capture]
B --> C[Memory Graph - SQLite]
C --> D[MCP Server]
D --> E[Next Agent Session]
B --> B1[git diff/commit]
B --> B2[test results]
B --> B3[terminal logs]
B --> B4[PR reviews]
B --> B5[decisions]
Operational flow:
- Capture signals from active coding sessions.
- Normalize into structured memory entries.
- Persist entries and file relations in SQLite.
- Expose retrieval through CLI and MCP tools.
- Reuse context in the next agent session.
CLI Reference
repomemory init
Initializes .repomemory/ and local SQLite database.
Usage:
repomemory init
repomemory init --force
Notes:
- Run once per repository.
--forcerecreates storage.
repomemory capture <type>
Captures a memory entry for a source event.
Supported capture types:
git-diffgit-committerminaltestdecision
Common options:
--agent <name>--message <text>--files <paths...>--tags <tags...>
Examples:
repomemory capture git-diff --agent claude
repomemory capture decision --message "Validate JWT before route handlers" --files src/middleware/auth.ts
repomemory capture terminal --message "vitest auth suite failing" --tags failure auth
repomemory capture git-commit --agent codex --tags release
repomemory search <query>
Searches memory entries.
Filters:
--type <type>--agent <agent>--file <path>--limit <n>(default:20)--since <date>(ISO-8601)
Examples:
repomemory search "jwt" --file src/middleware/auth.ts --agent codex --limit 10
repomemory search "failing snapshot" --type test --since 2026-01-01
repomemory search "rate limit" --agent claude
repomemory recall <file>
Recalls context for a target file.
Options:
--depth <n>(default:10)--format <text|json>(default:text)
Examples:
repomemory recall src/middleware/auth.ts
repomemory recall src/middleware/auth.ts --depth 15
repomemory recall src/middleware/auth.ts --format json
Typical output includes:
- Recent failures
- Related decisions
- File relationships
- Session breadcrumbs
repomemory serve
Starts the MCP server.
Options:
--transport <stdio|sse>(default:stdio)--port <n>for SSE mode (default:3000)
Examples:
repomemory serve
repomemory serve --transport sse --port 4317
repomemory export
Exports captured memory.
Options:
--format <json|sqlite>(default:json)--output <path>
Examples:
repomemory export --format json --output ./repomemory-export.json
repomemory export --format sqlite --output ./repomemory-export.db
repomemory stats
Shows repository memory stats.
Usage:
repomemory stats
Architecture
RepoMemory uses a local-first, layered design.
Capture Layer
Captures and structures:
- Git diffs/commits
- Test outcomes
- Terminal commands
- PR/issue review context
- Engineering decisions
Memory Layer
Persists normalized records in SQLite tables:
entriesentry_filessessionsfile_relations
Retrieval Layer
Supports:
- Full-text search
- File-centric recall
- Recent failure discovery
- Decision/rationale lookup
- Related-file traversal
MCP Layer
Exposes memory operations as MCP tools for agent workflows.
Use Cases
- Multi-agent handoffs in a single repository
- Long-running refactors over multiple sessions
- Preventing repeated test failures after context switches
- Preserving review rationale after merges
- Building an auditable memory trail for AI-assisted engineering
Why RepoMemory
- Reduces repeated mistakes across sessions
- Speeds up agent handoffs
- Improves consistency of engineering decisions
- Keeps context local and portable
Development
npm install
npm run typecheck
npm test
npm run build
Node.js 20+ required.
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before opening a PR.
License
MIT © 2026 Lay4U. See LICENSE.
Star CTA
If RepoMemory helped you avoid repeated failures across sessions, star the project. It helps more teams discover practical, persistent memory for coding agents. Stop repeating the same mistakes across agent sessions.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。