Skip to content
Docs · MCP tools

The graph, as tools your agent calls.

Graphify's MCP server exposes 10 tools over the knowledge graph built from your repo, so any MCP client — Claude Code, Cursor, Copilot, and the rest — reads the graph natively instead of grepping.

Run the server

The server ships with the CLI and reads the graph.json that /graphify . produced (default graphify-out/graph.json). It speaks stdio by default — the right mode for a single assistant — or Streamable HTTP when several assistants or teammates should share one graph. The HTTP transport can require a key via --api-key (or the GRAPHIFY_API_KEY env var).

terminal
# stdio (default) — one assistant, one graph:$ python -m graphify.serve graphify-out/graph.json # shared HTTP — one server, many clients:$ python -m graphify.serve graphify-out/graph.json --transport http --port 8080 # also available as a console script:$ graphify-mcp graphify-out/graph.json

Connect a client

Most assistants pick this up automatically — graphify install wires the server into the assistants it detects. To register it by hand in Claude Code, add this to .mcp.json in your project root; other MCP clients take the same command in their own config format.

.mcp.json
{  "mcpServers": {    "graphify": {      "command": "python",      "args": ["-m", "graphify.serve", "graphify-out/graph.json"]    }  }}

Every tool below also accepts an optional project_path parameter — an absolute path to another project containing graphify-out/graph.json — so one running server can answer for a whole workspace of repos. Omit it and the server answers against the graph it was started with.

Query & traverse

The core four: ask a question, inspect a node, walk its neighbors, or trace the path between two concepts. Results come back as text context with file:line citations, every edge tagged EXTRACTED, INFERRED, or AMBIGUOUS.

query_graph

Search the graph for a natural-language question using BFS or DFS traversal. Returns the relevant nodes and edges as text context — the same output graphify query prints.

question · required
Natural-language question or keyword search.
mode · default bfs
bfs for broad context, dfs to trace a specific path.
depth · default 3
Traversal depth (1–6).
token_budget · default 2000
Cap on output tokens.
context_filter · optional
Explicit edge-context filter, e.g. ["call", "field"].

get_node

Full details for one node, looked up by label or ID: what it is, where it lives, its community, and its edges.

label · required
Node label or ID to look up.

get_neighbors

All direct neighbors of a node, with edge details — one hop out in every direction.

label · required
Node label or ID.
relation_filter · optional
Only edges of this relation type.

shortest_path

The shortest path between two concepts in the graph — how two pieces of the codebase connect, hop by hop.

source · required
Source concept label or keyword.
target · required
Target concept label or keyword.
max_hops · default 8
Maximum hops to consider.

Structure & overview

For orientation: the graph's communities, its most-connected nodes, and summary statistics — the "show me the shape of this codebase" tools an agent calls first in an unfamiliar repo.

get_community

All nodes in one community (the clusters the graph is organized into), by community ID.

community_id · required
Community ID, 0-indexed by size.

god_nodes

The most-connected nodes in the graph — the core abstractions everything else hangs off.

top_n · default 10
How many nodes to return.

graph_stats

Summary statistics: node count, edge count, communities, and the EXTRACTED / INFERRED / AMBIGUOUS confidence breakdown.

no parameters

Pull requests

The same graph-impact analysis behind graphify prs, exposed to agents: which open PRs touch what, and in which order to review them.

list_prs

Open GitHub PRs with CI status, review state, and graph impact — which communities each PR touches and its blast radius. Useful before starting work, to check if a PR already covers the area.

base · optional
Base branch to filter by (auto-detected if omitted).
repo · optional
owner/repo — defaults to the current repository.

get_pr_impact

Detailed graph impact for one PR: the files it changes, the communities affected, and how many nodes are touched — for assessing merge risk or overlap with current work.

pr_number · required
The PR number to analyse.
repo · optional
owner/repo — defaults to the current repository.

triage_prs

All actionable open PRs (right base branch, not stale) with full graph-impact data, so the agent can reason about review priority, merge order, and conflict risk.

base · optional
Base branch to filter by (auto-detected if omitted).
repo · optional
owner/repo — defaults to the current repository.

Resources

Alongside the tools, the server publishes MCP resources — read-only documents a client can pull into context: the full GRAPH_REPORT.md, graph stats, god nodes, surprising cross-community connections, the confidence audit, and suggested questions for the codebase.

Not the docs MCP server

This page covers the graph MCP server — the one the CLI runs locally over your own repo. Graphify also hosts a separate docs MCP server with a single tool, search_graphify_docs, for searching this documentation from your editor. Different server, different job.