apex-memory
Integrates with Windsurf (Codeium's editor) to enable persistent memory for coding agents via the MCP protocol.
Integrates with VS Code + GitHub Copilot to give AI agents persistent memory capabilities for saving and retrieving coding context.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apex-memoryrecall memories about the dependency injection pattern"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
apex-memory
Persistent memory for AI coding agents.
Give your AI coding agent memory that survives across sessions. apex-memory is an MCP server that lets agents save decisions, patterns, bugs, and context — then recall them exactly when needed.
One install, works everywhere — MCP-native, works with Claude Code, Cursor, Windsurf, and any MCP-compatible editor
Ultra-lightweight — 26.6 kB package, starts in milliseconds, no ML models or vector databases
Zero infrastructure — local SQLite database, no servers, no accounts
Built for coding agents — categories like
decision,architecture,bug,patterndesigned for real development workflowsSmart memory management — importance scoring (1-5), access tracking, and auto-decay keep your memory store relevant
Full-text search — find any memory instantly with FTS5-powered search
Knowledge graph — link memories with directional relationships (related, depends_on, supersedes, contradicts, extends)
Dedup detection — automatic duplicate warnings on save, Jaccard similarity scanning, and one-click merge
Cloud sync — sync memories across machines with the Pro tier
Quick Start
Claude Code
claude mcp add apex-memory -- npx apex-memoryThat's it. Your agent now has persistent memory.
Cursor
Add to your MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"apex-memory": {
"command": "npx",
"args": ["apex-memory"]
}
}
}See the Cursor setup guide for full details and troubleshooting.
Windsurf
Open ~/.codeium/windsurf/mcp_config.json (via Cmd+Shift+P → "Windsurf: Open MCP Config") and add:
{
"mcpServers": {
"apex-memory": {
"command": "npx",
"args": ["apex-memory"]
}
}
}See the Windsurf setup guide for full details and troubleshooting.
VS Code + GitHub Copilot
In your project root, create .vscode/mcp.json:
{
"servers": {
"apex-memory": {
"command": "npx",
"args": ["apex-memory"]
}
}
}See the VS Code setup guide for full details and troubleshooting.
Cline
Open the MCP Servers panel in Cline's sidebar → Edit MCP Settings, then add:
{
"mcpServers": {
"apex-memory": {
"command": "npx",
"args": ["apex-memory"],
"disabled": false,
"autoApprove": []
}
}
}See the Cline setup guide for full details and troubleshooting.
Other MCP Clients
apex-memory works with any MCP-compatible client. Point it at:
npx apex-memoryThe server communicates over stdio using the standard MCP protocol. See the generic MCP setup guide for examples with VS Code, Continue.dev, and custom clients.
New to apex-memory?
Follow the Getting Started tutorial — install, configure, and save your first memory in under 2 minutes. Includes a CLAUDE.md integration snippet and copy-paste editor configs in docs/editors/.
Related MCP server: GitMem
Tools
apex-memory gives your agent 30 tools:
Tool | Description |
| Save knowledge, decisions, patterns, or context with categories, tags, and importance scoring (1–5). Warns about potential duplicates automatically. |
| Full-text search across all memories (supports AND, OR, NOT, phrases). Falls back to fuzzy substring matching when FTS5 returns no results. |
| Retrieve recent memories filtered by project, category, or tags. Sort by |
| Update an existing memory's content, category, tags, or importance in place |
| Remove a specific memory by ID |
| Archive old low-importance memories that were never accessed — keeps the store clean |
| Begin a coding session tied to a project |
| End a session with a summary of what was accomplished |
| View past coding sessions |
| Get detailed statistics: totals, category breakdown, importance distribution, most accessed memories |
| Export all memories and sessions as JSON — useful for backup, migration, or sharing context across machines |
| Import memories and sessions from a JSON export — restore backups or merge context from another machine |
| Export key memories as a CLAUDE.md-ready context block — inject project memory directly into your agent's instructions |
| Create directional links between memories (related, depends_on, supersedes, contradicts, extends) — build a knowledge graph |
| Query the knowledge graph — find all memories connected to a given memory |
| Detect similar existing memories using FTS5 search |
| Scan for duplicate clusters using Jaccard similarity — returns groups of similar memories |
| Consolidate duplicates: keeps primary content, max importance, union tags, re-points links, soft-deletes merged |
| Manually trigger a cloud sync — push local changes and pull remote (Pro) |
| Register this machine with apex-memory cloud and get a Pro upgrade link |
| Show cloud sync status: workspace ID, subscription tier, last sync time |
| Automatically capture session context (decisions, files, errors, solutions) at session end |
| Get full memory context in one call — combines relevant memories, linked memories (knowledge graph), and recent sessions |
| Save multiple memories in a single transaction — much faster than calling save_memory repeatedly |
| Chronological activity feed of memory events: creations, updates, sessions, and links |
| Review all memories captured in a session — use at session start to restore prior context |
| List all tags across memories with counts — discover how memories are organized and find tags to filter by |
| Get the knowledge graph as nodes and edges — visualize how memories relate to each other |
| Diagnose store health — stale memories, orphaned links, untagged items, cleanup candidates |
| Remove links pointing to deleted memories — keep the knowledge graph clean |
How It Works
When your agent encounters something worth remembering — an architectural decision, a tricky bug fix, a user preference — it calls save_memory:
save_memory({
content: "User prefers functional components over class components in React",
category: "preference",
tags: ["react", "components"],
project: "frontend-app"
})Next session, the agent recalls context before starting work:
recall({ project: "frontend-app" })Or searches for something specific:
search_memories({ query: "authentication AND JWT" })Categories
Organize memories by what they represent:
Category | Use for |
| Architectural and design decisions |
| Code patterns and conventions |
| Bugs encountered and their fixes |
| System design and structure |
| User and team preferences |
| Lessons learned |
| Project context and background |
| Everything else |
Sessions
Track coding sessions to group related memories:
start_session({ project: "api-server" })
// ... agent works, saves memories with the session_id ...
end_session({ session_id: "...", summary: "Refactored auth middleware to use JWT" })Memory Linking
Connect related memories into a knowledge graph:
link_memories({
source_id: "decision-about-jwt",
target_id: "bug-with-token-expiry",
link_type: "related"
})Five link types: related, depends_on, supersedes, contradicts, extends. Query connections with get_linked_memories, scan for duplicates with find_duplicate_groups, and merge them with merge_memories.
Cloud Sync (Pro)
Sync memories across machines with a Pro subscription ($9/workspace/month).
1. Register and get a Pro upgrade link:
apex_memory_login({
server_url: "https://apex-memory-sync.your-account.workers.dev",
email: "you@example.com"
})This registers your workspace, stores an API key locally, and returns a checkout URL to activate Pro.
2. Check your sync status:
apex_memory_status()Shows workspace ID, subscription tier, and last sync timestamp.
3. Sync manually at any time:
apex_memory_sync()Pushes local changes to the cloud and pulls remote changes. Memories are merged across machines.
Auto-sync also runs on agent startup when Pro is active — no manual trigger needed.
Auto-Capture
Auto-capture saves session context automatically at the end of every coding session — no manual save_memory calls needed.
apex_memory_auto_capture({
project: "api-server",
summary: "Refactored auth middleware to use JWT refresh tokens",
session_id: "...",
decisions: ["Use RS256 signing for cross-service token validation"],
files_worked_on: ["src/auth/middleware.ts", "src/auth/tokens.ts"],
errors_encountered: ["JWT expired during refresh cycle"],
solutions_found: ["Added 30s clock skew tolerance to token validation"]
})At the start of your next session, use session_summary to recall what was captured:
session_summary({ session_id: "..." })Auto-capture is enabled by default. To disable, set auto_capture.enabled = false in ~/.apex-memory/config.json.
Storage
All data is stored locally in ~/.apex-memory/memory.db — a SQLite database with WAL mode and FTS5 full-text search. No data leaves your machine.
Pricing
Free and open source. The core MCP server is MIT-licensed and fully functional — local storage, unlimited memories, unlimited sessions, no restrictions.
Pro tier — $9/workspace/month. Everything in Free, plus:
Sync across machines in under 1 second — memories are always current wherever you work
Automatic cloud backup — your memory store is continuously backed up, zero maintenance
Access from any editor on any machine — Claude Code, Cursor, Windsurf, all sharing one memory store
Pricing details · Upgrade guide
Support the project. If apex-memory is useful to you, consider sponsoring on GitHub.
Why apex-memory?
vs. MCP memory servers
apex-memory | shieldcortex | cortex-mcp | kiro-memory | claude-recall | |
Package size | 26.6 kB | 75.9 MB | 1.1 MB | 3.6 MB | 862 kB |
Install time | Instant | Slow (ML deps) | Fast | Fast | Fast |
Cloud sync | Yes (Pro) | No | No | No | No |
Knowledge graph | Built-in | No | No | No | No |
Dedup detection & merge | Built-in | No | No | No | No |
Importance scoring | Built-in | No | No | No | No |
Auto-decay | Built-in | Yes | No | No | No |
Session tracking | Built-in | No | No | No | No |
Works with any MCP client | Yes | Yes | Yes | Yes | Claude-only |
License | MIT | MIT | MIT | AGPL-3.0 | ISC |
Dependencies | 3 | 8 (incl. HuggingFace) | 3 | 16 | 5 |
apex-memory is 32x smaller than the next smallest competitor and starts in milliseconds. No ML models, no vector databases, no bloat — just fast, reliable memory backed by SQLite FTS5.
vs. general-purpose memory
apex-memory | Mem0 | Letta | OneContext | |
Built for coding agents | Yes | General purpose | General purpose | General purpose |
MCP-native | Yes | No | No | No |
Zero infrastructure | Yes (SQLite) | Requires server | Requires server | Cloud-only |
Open source | MIT | Partial | Yes | No |
apex-memory is purpose-built for the coding agent workflow. It's not a general-purpose memory layer — it's the memory system your AI coding agent should have had from day one.
Contributing
See CONTRIBUTING.md for guidelines.
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JJerryChoi/apex-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server