Skip to main content

orgraph-mcp

Codebase knowledge graph for coding agents. Gives Claude Code, Cursor, Codex, and other MCP-compatible agents a persistent graph of any repo — call chains, topology clusters, dependency trees — on top of hybrid code search.

Quickstart

Install uv, then:

uv tool install orgraph-mcp
orgraph install

orgraph install detects installed coding agents and wires up the MCP server automatically. Open any repo in your agent and orgraph starts working — it indexes on first run, no manual setup needed.

To undo: orgraph uninstall

What agents can do

Once configured, your agent has 6 tools:

Tool What it does
search(query) Hybrid BM25+semantic search — find code by description
trace(symbol, direction, depth) Follow call chains forward (callees) or backward (callers)
find_path(from_symbol, to_symbol) Shortest call path between two named symbols
get_context(file_or_symbol) Topology cluster, community, call depth, indegree — where does this fit?
find_entry_points(kind) HTTP handlers and entry surfaces; kind = "all" | "http" | "topology"
get_dependencies(file, direction, depth) Import + call dependency tree, forward or reverse
reindex(force) Re-index changed/deleted files without restarting the server

The agent picks the right tool automatically based on what you ask.

Manual usage

All commands take a repo path as the last argument. It defaults to . so you can omit it when you're already inside the repo.

Setup

# Build the index (run once, then again after big merges)
orgraph index .

# Verify the index is healthy — node/edge counts, clusters, communities
orgraph status .

Finding code

# Find code by describing what it does — semantic + keyword search
orgraph search "coupon validation logic" .
orgraph search "order cancellation refund" . --top-k 5

# List every function and class defined in a file (table of contents)
orgraph file controllers/DiscountController.py .

# See all HTTP endpoints and async tasks in the repo
orgraph entry-points .                    # HTTP handlers (default)
orgraph entry-points . --kind tasks       # Celery async tasks
orgraph entry-points . --kind all         # both together

Understanding a function before you change it

# Who calls this function? (blast radius before editing)
orgraph who-calls get_valid_coupon .
orgraph who-calls build_order_model . --depth 2   # callers of callers too

# What does this function call? (trace the flow downward)
orgraph trace apply_coupon .
orgraph trace Coupon.on_post . --depth 3          # 3 levels deep
orgraph trace apply_coupon . --callers            # same as who-calls, tree form

# How does one function reach another? (shortest path between two symbols)
orgraph path Coupon.on_post get_valid_coupon .
orgraph path execute validateStyle . --max-hops 20

# Architectural position — how central is this, what's coupled to it?
orgraph context controllers/DiscountController.py .
orgraph context get_valid_coupon .                # works on symbol names too

context shows call depth, indegree (how many things call this), which files are tightly coupled to it, and which functions tend to change together.

Understanding file dependencies

# What does this file import? (what to read before editing it)
orgraph deps controllers/DiscountController.py .

# What imports this file? (what breaks if you delete or move it)
orgraph deps controllers/DiscountController.py . --direction imported_by

# Two levels of transitive imports
orgraph deps libs/OrderHelper.py . --depth 2

deps operates on import statements, not function calls — it shows module-level coupling, not runtime behaviour.

Typical workflow on a new codebase

# 1. Index it
orgraph index .

# 2. See all the entry points
orgraph entry-points .

# 3. Find where something lives
orgraph search "payment processing" .

# 4. See what's in that file
orgraph file controllers/OrderController.py .

# 5. Before touching a function — check blast radius
orgraph who-calls build_order_model .

# 6. Trace what it does
orgraph trace build_order_model . --depth 3

# 7. Check how central the file is
orgraph context controllers/OrderController.py .

MCP server

orgraph serve /path/to/repo

Manual MCP config

If you prefer to configure manually instead of using orgraph install:

Claude Code (~/.claude.json):

{
  "mcpServers": {
    "orgraph": {
      "command": "uvx",
      "args": ["--from", "orgraph-mcp", "orgraph", "serve", "."],
      "type": "stdio"
    }
  }
}

Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "orgraph": {
      "command": "uvx",
      "args": ["--python", "3.13", "--from", "orgraph-mcp", "orgraph", "serve", "."]
    }
  }
}

The server uses . as the repo path — it starts relative to wherever your agent opens the project.

How it works

  • Extraction — tree-sitter AST extractor (SCIP compiler-accurate extraction when available)
  • Graph — Kuzu embedded graph DB with Function/Class/File nodes + CALLS/IMPORTS/INHERITS edges
  • Search — semble hybrid BM25 + Model2Vec embeddings
  • Topology — BFS entry-point clustering groups files into domain clusters
  • Communities — Leiden community detection for finer-grained groupings
  • Incremental — md5 manifest tracks changes; reindex only re-extracts what changed

Eval

Measure retrieval quality against a ground truth file:

orgraph eval /path/to/repo --ground-truth queries.json --output report.json

Ground truth format:

[
  {
    "id": "auth-flow",
    "query": "how is authentication handled",
    "relevant_files": ["auth.py", "middleware.py"],
    "relevant_symbols": ["authenticate", "require_auth"],
    "query_type": "semantic"
  }
]

Reports NDCG@10, MRR, and Precision@3.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orgraph_mcp-0.1.31.tar.gz (325.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orgraph_mcp-0.1.31-py3-none-any.whl (222.2 kB view details)

Uploaded Python 3

File details

Details for the file orgraph_mcp-0.1.31.tar.gz.

File metadata

  • Download URL: orgraph_mcp-0.1.31.tar.gz
  • Upload date:
  • Size: 325.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orgraph_mcp-0.1.31.tar.gz
Algorithm Hash digest
SHA256 7fbe4e41074281ece92bfc448b3b2f363ec368033e2aa53293031f8b1d22ee63
MD5 da12bc708047caa3ec9b455cfb72a556
BLAKE2b-256 e90020a54f9c7a26a11b03b0716ebfa321706aa63e88377df1bd2119ffa19adf

See more details on using hashes here.

Provenance

The following attestation bundles were made for orgraph_mcp-0.1.31.tar.gz:

Publisher: release.yml on tss-pranavkumar/orgraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orgraph_mcp-0.1.31-py3-none-any.whl.

File metadata

  • Download URL: orgraph_mcp-0.1.31-py3-none-any.whl
  • Upload date:
  • Size: 222.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orgraph_mcp-0.1.31-py3-none-any.whl
Algorithm Hash digest
SHA256 e311eb26ecbdc0d3e6be0d1dd613b6768170d755a3da418cf3027e3b2faa34a2
MD5 e8dbfcaa14877f36ae68688e857c42c9
BLAKE2b-256 d99a82f0f7c70fe2a16630b77191910cb467d975286276504fb0593a0014d442

See more details on using hashes here.

Provenance

The following attestation bundles were made for orgraph_mcp-0.1.31-py3-none-any.whl:

Publisher: release.yml on tss-pranavkumar/orgraph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page