Repo Graph vs Codeindex — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Repo Graph vs Codeindex
In-depth architectural comparison of the Repo Graph and Codeindex 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
Repo Graph
Biology & Bioinformatics · Local stdio
Quality: 63/100 (Good) | Auth: No auth required
Codeindex
Biology & Bioinformatics · Local stdio
Quality: 57/100 (Good) | Auth: No auth required
Verdict Summary: Choose Repo Graph if you need specialized Biology & Bioinformatics tools running via a local process. Choose Codeindex if your workspace requires Biology & Bioinformatics integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Repo Graph when:
You need dedicated capabilities in the Biology & Bioinformatics domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Structural graph map of any codebase for AI coding assistants. Scans entities, relationships, and feature flows across 13 languages so LLMs navigate by structure instead of grepping through everything.
Structural code intelligence over MCP: symbols, callers, imports and blast radius, 40+ languages.
Get the lay of the land — ALWAYS the first call on a codebase. With no arguments: a counts + entry-points overview plus a `blind spots` note flagging which (language, edge-kind) extractions are partial so you know where to fall back to grep. With `seed=<node>`: the dense structural map scoped to that node's neighbourhood. With `full=true`: the whole-repo dense map (the full context dump). Orient first, then `find` to jump to nodes, `impact` for blast radius, `trace` for flows.
find
Turn any text into the ranked nodes that matter — the on-ramp to the graph. A symbol or keyword returns matching nodes; a pasted stacktrace / failing-test id / diff is resolved to the code it implicates and ranked by relevance. Set `expand=true` to fan out to the surrounding neighbourhood (spreading activation). Every row carries `path:line`, so `read` the top hits directly — no grep.
impact
Blast radius in one call: fan out from one or more nodes to everything they affect (forward) or depend on / are used by (backward), returned as a complete, deduped, Personalized-PageRank-ranked, located closure. Each row carries `path:line`, the edge `via` reason it's in scope, and a `⊘` when the engine finds it unreachable from any entry point (likely dead). Structural import/containment fan-out is excluded — no noise. Depth-1 in both directions is a node's immediate neighbours. Pass several comma-separated nodes to assess a whole diff at once.
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).
Repo Graph is categorized under Biology & Bioinformatics and uses a local stdio subprocess. In contrast, Codeindex belongs to Biology & Bioinformatics using local stdio subprocess. Select Repo Graph when you need capabilities focused on biology & bioinformatics and Codeindex when you require tools for biology & bioinformatics.
Follow the code across boundaries. One argument: trace a feature end-to-end — the ordered path from entry through the stack, each hop labelled with its mechanism (call / HTTP / queue / event / data), crossing service boundaries (frontend→backend). Two arguments: the shortest path between two specific nodes, hop by hop. This is where the graph beats reading many files — it knows the cross-stack links grep can't see.
read
Return the source code for one or more nodes, sliced from their files by the graph's line spans. Use after `find`/`impact` to read the exact code without grepping — comma-separate several node names to read the whole ranked set in a single call. Each node is a code block headed by its qname and `path:start-end`, plus a `context:` footer with structural facts the source alone doesn't show: HTTP method, cross-stack callers, covering tests, and intent/decision/constraint cells when present.
refresh
(Re)build the structural graph with tree-sitter AST parsing across 20 languages, running the cross-stack resolvers (HTTP, gRPC, GraphQL, WebSocket, queues, events, CLI). Incremental by default — only changed files re-parse — so it's cheap to call after edits; set `full=true` to force a clean reparse. Accepts a local path or a git URL (cloned on demand). Call after a major refactor; routine edits are picked up automatically by the file watcher.
Codeindex Tools (16)
status
Index stats: file count, symbol count, indexing state, token savings %, the indexed `workspace` and whether a `watcher` is live
search
Trigram-accelerated full-text search across all indexed files
find_symbol
Find symbol definitions (functions, structs, classes…) by name
find_word
Exact word/identifier lookup in the inverted word index
find_callers
Approximate callers of a symbol (heuristic, no full name resolution)
get_outline
Structural outline of a file (symbols, line counts)
get_tree
Directory tree with file metadata
get_imports
What files does a given file import/depend on
get_imported_by
Reverse dependencies — who imports this file
get_change_impact
Transitive blast radius: what breaks if a file changes
plan_change
Full refactor plan for a symbol or file — definitions, callers, file role, literals, blast radius