# GraphPilot

GraphPilot builds a local TypeScript/JavaScript code graph and gives coding agents structural facts about symbols, calls, and change impact.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 17
- Author: graphpilot-oss
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/graphpilot-oss/graphpilot
- Updated: 2026-09-10
- HTML: https://affpapa.org/en/nevibecode/mcp/graphpilot

## What it does

GraphPilot parses a TypeScript or JavaScript repository with tree-sitter, extracts symbols and call edges, and stores the resulting graph locally. Its MCP server lets a coding agent query callers, callees, symbols, and the files affected by a change.

The CLI prepares the data separately from the MCP process. Run `graphpilot index <path>` to create the graph, use `graphpilot watch <path>` to keep it current, and start `graphpilot mcp` when the agent needs read access over stdio. Git worktrees receive separate indexes, so branches can be examined independently.

The project runs locally with no telemetry or remote calls. Node.js ≥20 and a TypeScript or JavaScript repository are required; the MCP server does not build the index itself, so run `graphpilot index <path>` before asking structural questions.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `GRAPHPILOT_ROOT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env GRAPHPILOT_ROOT=<GRAPHPILOT_ROOT> --transport stdio graphpilot -- npx -y @graphpilot-oss/graphpilot
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add graphpilot --env GRAPHPILOT_ROOT=<GRAPHPILOT_ROOT> -- npx -y @graphpilot-oss/graphpilot
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "graphpilot": {
            "command": "npx",
            "args": [
                "-y",
                "@graphpilot-oss/graphpilot"
            ],
            "env": {
                "GRAPHPILOT_ROOT": "<GRAPHPILOT_ROOT>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "graphpilot": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@graphpilot-oss/graphpilot"
            ],
            "env": {
                "GRAPHPILOT_ROOT": "<GRAPHPILOT_ROOT>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GRAPHPILOT_ROOT=<GRAPHPILOT_ROOT> graphpilot npx -y @graphpilot-oss/graphpilot
```
Replace <…> with your own values

## When to use it
- trace callers and callees for a function
- estimate the files affected by a symbol rename
- inspect symbol relationships across a repository
- locate code lines behind a structural query

## Example prompts
- Show every caller of `parseConfig` and include the file and line for each one.
- Estimate the impact of renaming `UserService` on the current branch.
- Find symbols and call edges related to `src/router.ts`.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
