Codegraph vs Obsidian MCP Server
A side-by-side look at the Codegraph 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.
Verdict: choose Codegraph 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?
Choose Codegraph when
- You need dedicated capabilities in the Knowledge & Memory domain.
- You prefer a local stdio subprocess transport.
- You want tools like
get_ai_context, get_edit_context, get_curated_context.
Choose 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.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Knowledge & Memory | Knowledge & Memory |
| Quality signal | 63/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | OBSIDIAN_API_KEYOBSIDIAN_ENABLE_COMMANDSOBSIDIAN_READ_PATHSOBSIDIAN_DELETE_ELICITATION |
| Verified owner | Community listing | Community listing |
| GitHub stars | 132 | 700 |
| Directory activity | 1 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 56 | 14 |
| Full listing | View Codegraph | View Obsidian MCP Server |
Tools & capabilities
Codegraph tools 56
get_ai_contextPrimary context tool.** Intent-aware (explain/modify/debug/test) with token budgeting. Returns source, related symbols, imports, siblings, debug hints.get_edit_contextEverything needed before editing: source + callers + tests + memories + git historyget_curated_contextCross-codebase context for a natural language query ("how does auth work?")analyze_impactBlast radius prediction — what breaks if you modify, delete, or renameanalyze_complexityCyclomatic complexity with breakdown (branches, loops, nesting, exceptions, early returns)find_circular_depsDetect circular import/dependency chains across filesfind_hot_pathsMost-called functions ranked by transitive caller countfind_dead_importsFind unused imports — modules imported but never referencedget_module_summaryHigh-level summary of a directory: file count, functions, language breakdown, top complex functionssearch_by_patternRegex search across function bodies, signatures, names, and docstringssearch_by_errorFind functions that throw, catch, or handle specific error typessymbol_searchFind symbols by name or natural language (hybrid BM25 + semantic search)- +44 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 sectionobsidian_list_notesList notes and folders under a vault path, recursively, with extension and name filtersobsidian_list_tagsList vault tags with usage counts, most-used firstobsidian_search_notesSearch by text, JSONLogic, or BM25-ranked Omnisearch when that plugin is reachableobsidian_write_noteCreate a note, replace one section, or overwrite a whole file with `overwrite: trueobsidian_append_to_noteAppend to a note (creating it if missing) or to one heading, block, or frontmatter fieldobsidian_patch_noteAppend, prepend, or replace against one heading, block reference, or frontmatter fieldobsidian_replace_in_noteLiteral or regex search-replace inside one note, body-only by defaultobsidian_manage_frontmatterGet, set, or delete one frontmatter keyobsidian_manage_tagsAdd, remove, or list a note's tags in frontmatter, inline, or bothobsidian_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.
Codegraph
{
"mcpServers": {
"codegraph": {
"command": "npx",
"args": [
"-y",
"@vscode/vsce"
]
}
}
}
Obsidian MCP Server
{
"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
Codegraph 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 Codegraph 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.
Codegraph has no declared pricing — check the project's own site. 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 codegraph and obsidian-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Codegraph has a quality signal of 63/100 (Good) with 1 views, 0 installs and 132 GitHub stars. Obsidian MCP Server has 64/100 (Good) with 2 views, 0 installs and 700 GitHub stars.