Open, Git-native memory protocol for MCP agents. Portable, versioned, human-editable.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
The open, Git-native memory protocol for MCP agents: portable, inspectable, versioned, and human-editable.
Every AI agent has its own memory system. Claude's works only with Claude. ChatGPT's works only with ChatGPT. They're all opaque, vendor-locked, and non-portable.
Elefante takes a different approach. Instead of optimizing for retrieval quality, it optimizes for ownership, auditability, and portability β the things that matter when memory is a first-class asset, not a hidden implementation detail.
| Question | Answer |
|---|---|
| Who owns my agent's memory? | You do. It's a Git repo. |
| What does my agent know about me? | cat memories/user/*.md |
| What changed since last week? | git log --since="1 week ago" |
| How do I use it across Claude, Codex, and Cursor? | Point them at the same MCP server. |
| How do I back it up? | Every clone is a full backup. |
| How do I undo a bad memory? | git revert |
From the terminal (before starting Claude Code):
From inside Claude Code (during a session):
Or manually β add to your MCP config (~/.claude.json, .cursor/mcp.json, etc.):
Cursor / VS Code / Codex β same config. Any agent that speaks MCP can read and write to the same vault.
Once connected, your agent gets 7 tools: memory_write, memory_read, memory_search, memory_list, memory_update, memory_delete, memory_sync.
Elefante injects your top memories directly into the agent's system prompt at startup via MCP instructions. The agent sees your preferences, feedback, and project context without needing to search first.
No CLAUDE.md hacks. No "search my elefante memory" prompts. It just works.
Elefante auto-detects which project you're in and scopes memories accordingly. No configuration needed.
When the MCP server starts, it reads the git remote from your working directory:
| You say | What happens |
|---|---|
| "Remember this project uses Postgres 16" | Stored with profile: you/acme-api (project-scoped) |
| "Remember I prefer Bun over npm" | Agent stores with profile: global β null (applies everywhere) |
| "Remember the staging URL is staging.acme.io" | Stored with profile: you/acme-api (project-scoped) |
The agent decides based on context. User preferences and behavioral feedback are typically global. Project details and references are typically scoped.
Global memories always show up. Project memories only show up in their project.
| Profile value | Meaning |
|---|---|
| (omitted) | Auto-scope to detected project |
"global" | Explicitly global β no project scope |
"all" | Search/list across every project |
"owner/other-repo" | Explicitly target a different project |
Every memory is a Markdown file with YAML frontmatter. You can open it in any editor.
Every write is remember:. Every update is update:. Every delete is forget:. Your memory has a clean, auditable history.
Four types. Intentionally constrained β a small taxonomy forces good classification.
| Type | What to store | Typically scoped to |
|---|---|---|
user | Facts about you β role, preferences, expertise | Global |
feedback | Agent behavior guidance β corrections, confirmations | Global |
project | Active work context β goals, deadlines, decisions | Project |
reference | External pointers β URLs, dashboards, tools | Project |
Elefante doesn't reinvent auth. It uses whatever Git credentials you already have.
Resolution order:
gh auth token (if GitHub CLI is installed)ELEFANTE_GITHUB_TOKEN environment variable~/.elefante/config.json token fieldIf git or gh is authenticated, Elefante works with zero config.
Elefante doesn't compete on retrieval quality. It competes on ownership.
| Elefante | Claude/ChatGPT Memory | Mem0 / Zep | |
|---|---|---|---|
| You own the data | Git repo you control | Vendor-controlled | Self-hosted or SaaS |
| Human-readable | Markdown files | No | No |
| Version history | Git log for free | No | No |
| Agent-agnostic | Any MCP agent | Single vendor | Yes |
| Zero infrastructure | Git + local process | N/A (managed) | Server + database |
| Offline access | Local clone | No | No |
| Auto project scoping | Detects git remote | Per-conversation | Manual |
| Semantic search | Not yet (planned) | Yes | Yes |
"Why not Obsidian + MCP plugin?" β Obsidian is a tool for humans that agents can access. Elefante is a tool for agents that humans can access. Same data format (Markdown + Git), different design center.
The full protocol specification β memory model, vault structure, MCP interface, concurrency model, indexing, security considerations β is in PROTOCOL.md.
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/elefante)<a href="https://allmcps.com/mcp/elefante"><img src="https://allmcps.com/api/badge/elefante?style=directory" alt="Elefante on AllMCPs" /></a>