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
Minimal access
Why this level
- Reads project code and stores an index on disk but does not write to source files
Install
- Works in
Manual install
brew tap eresende/pitlane-mcp && brew install pitlane-mcpOther options: `cargo binstall pitlane-mcp`, `cargo install pitlane-mcp` and release binaries.
Access and checks
How we reviewMinimal 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.
Related
MCP serversAn 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
A local MCP server with call graphs and symbol search: the agent sees code structure and what an edit affects in advance.
A local code graph with version history: an MCP server that tells the agent who calls a function and what an edit breaks
An MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens
An MCP server that indexes code with tree-sitter and returns individual functions and classes to the agent instead of whole files
A Rust binary for agents and the terminal that uses tree-sitter to find a symbol's definition, its calls and file dependencies
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.