Codebase Memory MCP vs Obsidian MCP Server

A side-by-side look at the Codebase Memory MCP and Obsidian MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Codebase Memory MCP logoCodebase Memory MCPKnowledge & Memory · Local subprocess (stdio)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-mcp73GreatAuth: no auth requiredObsidian MCP Server logoObsidian MCP ServerKnowledge & Memory · Local subprocess (stdio)MCP server for Obsidian vaults — read, write, search, and edit notes via the Local REST API plugin.64GoodAuth: not declared

Verdict: choose Codebase Memory MCP for knowledge & memory work as a local process; choose Obsidian MCP Server for knowledge & memory as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Codebase Memory MCP logoChoose Codebase Memory MCP when

  • You need dedicated capabilities in the Knowledge & Memory domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like index_repository, search_graph, query_graph.
Explore Codebase Memory MCP

Obsidian MCP Server logoChoose Obsidian MCP Server when

  • You need dedicated capabilities in the Knowledge & Memory domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: OBSIDIAN_API_KEY, OBSIDIAN_ENABLE_COMMANDS, OBSIDIAN_READ_PATHS, OBSIDIAN_DELETE_ELICITATION.
  • You want tools like obsidian_get_note, obsidian_list_notes, obsidian_list_tags.
Explore Obsidian MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecCodebase Memory MCP logoCodebase Memory MCPObsidian MCP Server logoObsidian MCP Server
CategoryKnowledge & MemoryKnowledge & Memory
Quality signal73/100 · Great64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNot declared
PricingFreeNot declared
Required env varsNone listedOBSIDIAN_API_KEYOBSIDIAN_ENABLE_COMMANDSOBSIDIAN_READ_PATHSOBSIDIAN_DELETE_ELICITATION
Verified ownerCommunity listingCommunity listing
GitHub stars47,236700
Directory activity 8 views 1 installs 1 upvotes 1 views 0 installs 0 upvotes
Tools1714

Tools & capabilities

Codebase Memory MCP tools 17

  • index_repositoryIndex a repository. full/moderate add semantics; fast omits them; cross-repo-intelligence links services. Reports coverage gaps.
  • search_graphFind 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_graphRead-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_pathTrace 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_snippetRead 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_outlineDeclaration 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_schemaGet node-label and edge-type counts. diagnostics=full also lists queryable properties.
  • compare_graphsCompare 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.
  • get_architectureCompact counts, languages, packages, entry points. Request structure, dependencies, routes, hotspots, boundaries, layers, clusters, cycles, or file_tree; path scopes a directory.
  • search_codeGraph-ranked text search: compact symbols, full bounded source, or file paths.
  • list_projectsList projects with stable paging. Identity is lean; stats adds graph sizes.
  • delete_projectDelete a project from the index
  • +5 more on the listing page

Obsidian MCP Server tools 14

  • obsidian_get_noteRead a note as raw content, full structured form, document map, or a single section
  • obsidian_list_notesList notes and folders under a vault path, recursively, with extension and name filters
  • obsidian_list_tagsList vault tags with usage counts, most-used first
  • obsidian_search_notesSearch by text, JSONLogic, or BM25-ranked Omnisearch when that plugin is reachable
  • obsidian_write_noteCreate a note, replace one section, or overwrite a whole file with `overwrite: true
  • obsidian_append_to_noteAppend to a note (creating it if missing) or to one heading, block, or frontmatter field
  • obsidian_patch_noteAppend, prepend, or replace against one heading, block reference, or frontmatter field
  • obsidian_replace_in_noteLiteral or regex search-replace inside one note, body-only by default
  • obsidian_manage_frontmatterGet, set, or delete one frontmatter key
  • obsidian_manage_tagsAdd, remove, or list a note's tags in frontmatter, inline, or both
  • obsidian_delete_notePermanently delete a note, optionally after the user confirms (`OBSIDIAN_DELETE_ELICITATION`)
  • obsidian_open_in_uiOpen a file in the Obsidian app, optionally in a new pane
  • +2 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Codebase Memory MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "deusdata-codebase-memory-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "codebase-memory-mcp"
      ]
    }
  }
}

Obsidian MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "obsidian-mcp-server": {
      "command": "bunx",
      "args": [
        "obsidian-mcp-server@latest"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "YOUR_OBSIDIAN_API_KEY_HERE",
        "OBSIDIAN_ENABLE_COMMANDS": "YOUR_OBSIDIAN_ENABLE_COMMANDS_HERE",
        "OBSIDIAN_READ_PATHS": "YOUR_OBSIDIAN_READ_PATHS_HERE",
        "OBSIDIAN_DELETE_ELICITATION": "YOUR_OBSIDIAN_DELETE_ELICITATION_HERE"
      }
    }
  }
}

Frequently asked questions

Codebase Memory MCP is categorized under Knowledge & Memory and uses a local stdio subprocess. Obsidian MCP Server belongs to Knowledge & Memory and uses a local stdio subprocess. Pick Codebase Memory MCP for knowledge & memory work and Obsidian MCP Server for knowledge & memory.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Codebase Memory MCP is listed as free. Auth: no auth required. Obsidian MCP Server has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add deusdata-codebase-memory-mcp and obsidian-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Codebase Memory MCP has a quality signal of 73/100 (Great) with 8 views, 1 installs and 47,236 GitHub stars. Obsidian MCP Server has 64/100 (Good) with 1 views, 0 installs and 700 GitHub stars.