1. semantic_query is presented as a tool but is a parameter
The Search section introduces semantic_query as though it were an MCP tool. It is not:
cli semantic_query -> unknown tool: semantic_query
semantic_query exists only as a parameter of search_graph. The README's own MCP Tools table does not list it, so the two sections contradict each other.
2. Tool count is 14, not 15
The intro and the Manual MCP Configuration section both state 15 tools ("you should see codebase-memory-mcp with 15 tools"). The server advertises 14 via tools/list (paginated: 8 with nextCursor: 8, then 6).
3. The team-shared artifact is opt-in, not automatic
Team-Shared Graph Artifact says:
When you index, the artifact is written or refreshed
In practice persistence defaults to false (src/mcp/mcp.c:376), so index_repository reports artifact_present: false and no .codebase-memory/graph.db.zst is created unless persistence: true is passed explicitly.
4. The dead-code Cypher example is rejected by the engine
Supported Cypher offers WHERE NOT EXISTS { (f)<-[:CALLS]-() } as the dead-code example. The engine rejects the inbound form. See #1293.
Environment
- Version: codebase-memory-mcp 0.9.0 (release binary, darwin-arm64)
- OS: macOS 26.5.2, Apple Silicon
- Repo under test: DeusData/codebase-memory-mcp @ af3ffbd
1.
semantic_queryis presented as a tool but is a parameterThe Search section introduces
semantic_queryas though it were an MCP tool. It is not:semantic_queryexists only as a parameter ofsearch_graph. The README's own MCP Tools table does not list it, so the two sections contradict each other.2. Tool count is 14, not 15
The intro and the Manual MCP Configuration section both state 15 tools ("you should see
codebase-memory-mcpwith 15 tools"). The server advertises 14 viatools/list(paginated: 8 withnextCursor: 8, then 6).3. The team-shared artifact is opt-in, not automatic
Team-Shared Graph Artifact says:
In practice
persistencedefaults tofalse(src/mcp/mcp.c:376), soindex_repositoryreportsartifact_present: falseand no.codebase-memory/graph.db.zstis created unlesspersistence: trueis passed explicitly.4. The dead-code Cypher example is rejected by the engine
Supported Cypher offers
WHERE NOT EXISTS { (f)<-[:CALLS]-() }as the dead-code example. The engine rejects the inbound form. See #1293.Environment