pitlane-mcp

An MCP server that indexes code with tree-sitter so an agent reads single symbols, not files, traces paths and weighs edits

  • 76 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Minimal access

Why this level

  • Reads project code and stores an index on disk but does not write to source files
All reasons and checks

eresende/pitlane-mcp

Install

Manual install

brew tap eresende/pitlane-mcp && brew install pitlane-mcp

Other options: `cargo binstall pitlane-mcp`, `cargo install pitlane-mcp` and release binaries.

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • Reads project code and stores an index on disk but does not write to source files

This is third-party code. Review the repository files before installing.

What it does

pitlane-mcp indexes a codebase once with tree-sitter, and the agent retrieves only the symbols it needs instead of dumping whole files into context. The server parses Rust, Python, JavaScript, TypeScript, Svelte, C, C++, Go, Java, C#, Ruby, Swift, Objective-C, PHP, Zig, Kotlin, Lua, Solidity and Bash, plus Markdown headings and JSON, YAML and TOML keys. Search is BM25 with an optional semantic layer. The default tier exposes eleven tools. `ensure_project_ready` builds the index at startup, `investigate` answers broad subsystem questions, `locate_code` finds a place without source, `read_code_unit` reads the target unit. `trace_path` follows a source-to-sink path, `analyze_impact` weighs the impact before an edit and `analyze_changes` reviews a git diff. `search_knowledge` and `read_knowledge_document` search and open Markdown documents with OKF metadata. Other primitives appear with `PITLANE_MCP_TOOL_TIER=all`. The index updates incrementally and lives on disk, with no external service. The `pitlane` command exposes the same features, and a `pitlane-navigation` skill comes with the MCP server.

Who it is for. Developers whose agents read whole files and hit the context window on large codebases.

Good fit when

  • The agent answers a subsystem question and only the needed functions should be read
  • Before a refactor you need an impact estimate: which places a change touches
  • You want to trace a path from config to effect through calls
  • The repo is mixed, with Rust, TypeScript and Python, and the index must cover all languages
  • Markdown docs should be searched by heading and source trust

Not a fit when

  • The repo is small and fits into context whole
  • The code language is outside the supported list
  • The agent needs to write or edit files: the server gives read access and navigation only

Example request

Index the project and explain how a request travels from the handler to the database without reading whole files.

MCP

Transport
stdio
Authentication
not required

Environment variables

PITLANE_EMBED_URL
Embedding server URL for semantic search
PITLANE_EMBED_MODEL
Embedding model for semantic search

Limitations

The project is in maintenance mode and major features are not planned. Semantic search needs a reachable embedding server: set `PITLANE_EMBED_URL` and `PITLANE_EMBED_MODEL`, and the feature is marked experimental and noticeably lengthens indexing of large bases. Without these variables there are no network calls. Hidden primitives turn on with `PITLANE_MCP_TOOL_TIER=all`. The index is stored on disk next to the project, and after a big structure change it is worth rebuilding.

How to disable. Remove the server with `claude mcp remove pitlane-mcp`, delete the `pitlane-mcp` and `pitlane` binaries (`brew uninstall pitlane-mcp` or `cargo uninstall pitlane-mcp`) and the index files.

FAQ

How do I connect pitlane-mcp to Claude Code?

With `claude mcp add pitlane-mcp -- pitlane-mcp`. For Cursor and Kiro the config goes into `.cursor/mcp.json` or `.kiro/settings/mcp.json`.

Which tools does the agent see by default?

Eleven: `ensure_project_ready`, `investigate`, `locate_code`, `read_code_unit`, `trace_path`, `analyze_impact`, `analyze_changes`, `get_index_stats`, `search_content`, `search_knowledge` and `read_knowledge_document`.

Does it need an external service?

No, the server runs fully local. Semantic search is switched on separately and uses your embedding server, for example Ollama.

How do I enable semantic search?

Set `PITLANE_EMBED_URL` and `PITLANE_EMBED_MODEL`, for example `http://localhost:11434/api/embed` and `nomic-embed-text`, and reindex the project.

Is there a CLI without MCP?

Yes. The `pitlane` binary gives the same indexing and search from a terminal, for example `pitlane search /your/project "..." --mode semantic`.

Discussion

No questions or reviews yet.

An MCP server that indexes a local repository with tree-sitter and gives the agent code search, file lookup and a structure summary of a file

MCP serverExtended access1KRepository stars

A local MCP server with call graphs and symbol search: the agent sees code structure and what an edit affects in advance.

MCP serverExtended access61Repository stars
Official

A local code graph with version history: an MCP server that tells the agent who calls a function and what an edit breaks

MCP serverExtended access516Repository stars
Official

An MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens

MCP serverExtended access961Repository stars

An MCP server that indexes code with tree-sitter and returns individual functions and classes to the agent instead of whole files

MCP serverExtended access2.8KRepository stars

A Rust binary for agents and the terminal that uses tree-sitter to find a symbol's definition, its calls and file dependencies

MCP serverMinimal access362Repository stars

README in short

Covers the purpose, install through releases, Homebrew and cargo, a quickstart for Claude Code, OpenCode, VS Code and Cursor, the tool workflow and the CLI.

README badge

Report a problem