In-depth architectural comparison of the Codebase Memory MCP and Genesys Memory MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Codebase Memory MCP
Knowledge & Memory · Local stdio
Quality: 73/100 (Great) | Auth: No auth required
Genesys Memory
Knowledge & Memory · Local stdio
Quality: 56/100 (Good) | Auth: No auth required
Verdict Summary: Choose Codebase Memory MCP if you need specialized Knowledge & Memory tools running via a local process. Choose Genesys Memory if your workspace requires Knowledge & Memory integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Codebase Memory MCP when:
You need dedicated capabilities in the Knowledge & Memory domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Code-intelligence engine that indexes a repo into a persistent knowledge graph — functions, classes, call chains, HTTP routes, cross-service links. 159 languages via tree-sitter + Hybrid LSP, sub-ms structural queries, 99% fewer tokens than grep. Single static binary, zero dependencies, 100% local. npx codebase-memory-mcp
Open-source causal memory for AI agents: persistent, explainable, MCP-native memory (13 tools).
Category & Scope
Tools & Capabilities Breakdown
Codebase Memory MCP Tools (17)
index_repository
Index a repository. full/moderate add semantics; fast omits them; cross-repo-intelligence links services. Reports coverage gaps.
search_graph
Find symbols via BM25 query, regex name/qn filters, or semantic_query. Rows keep qn/file/lines and in/out over CALLS/USAGE/CALL_REFERENCE/INHERITS/IMPLEMENTS.
query_graph
Read-only Cypher for multi-hop, aggregation, complexity, or cross-service analysis. Default: 200 visible rows with exact/lower-bound totals and truncation; continue safely with next_cursor. graph=missed is a file tree of flagged coverage gaps; absence is not proof of completeness. Use get_graph_schema(diagnostics=full) for properties.
trace_path
Trace callers/callees, data flow, or cross-service paths. Defaults exclude tests and resolver evidence. Rows keep qn/hop with explicit totals, relations, and continuations.
get_code_snippet
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Codebase Memory MCP is categorized under Knowledge & Memory and uses a local stdio subprocess. In contrast, Genesys Memory belongs to Knowledge & Memory using local stdio subprocess. Select Codebase Memory MCP when you need capabilities focused on knowledge & memory and Genesys Memory when you require tools for knowledge & memory.
Read a search_graph symbol. auto bounds source and outlines large containers; full restores up to 500 lines. Source/outline pages continue; coverage_note marks gaps.
get_file_outline
Declaration outline of one exact repository-relative file: optional exact label filter, source order, exact total/offset/limit paging; file/folder/container nodes excluded.
get_graph_schema
Get node-label and edge-type counts. diagnostics=full also lists queryable properties.
compare_graphs
Compare two indexed snapshots: deterministic target-only additions and base-only removals of stable node/edge identities; each set capped by limit and a 512 KiB budget with exact totals and truncation reasons.
Graph-ranked text search: compact symbols, full bounded source, or file paths.
list_projects
List projects with stable paging. Identity is lean; stats adds graph sizes.
delete_project
Delete a project from the index
+5 more tools listed on main page
Genesys Memory Tools (13)
memory_store
Store a new memory. Use `related` for writer-specified **typed** edges (`{id, type}`); `related_to` is legacy and always creates `caused_by`. Optional `category`. May return `possible_conflicts` (heuristic hints).
memory_amend
Record a correction: creates a new memory that **supersedes** an existing one. The old memory is kept (decayed in recall), not deleted.
memory_recall
Recall memories by natural language query (vector + keyword + graph spreading activation). Supports `verbosity: "concise"` for lightweight payloads.
memory_search
Filtered vector search by status, category, date (`since`), last-active date (`active_since`), or entity. Pass an **empty query** to enumerate by recency instead (no embedder needed) — with `since`/`active_since` this answers "what's new since I last looked" without knowing what to query for.
memory_traverse
Walk the causal graph from a node. Returns reachable **nodes and the edges** of the induced subgraph (`source/target/type/weight/created_by`) — a superset of the BFS tree, so paths can be reconstructed. Honors `edge_types`.
memory_explain
Explain a memory's score. Includes a `score_model` block (formula + live per-force breakdown + staleness note) and `removal_impact`.
memory_stats
Get memory system statistics
pin_memory
Pin a memory so it's never forgotten
unpin_memory
Unpin a previously pinned memory
delete_memory
Permanently delete a memory
list_core_memories
List core memories, optionally filtered by category