freshcrate
Home > MCP Servers > pitlane-mcp

pitlane-mcp

Token-efficient navigation substrate for AI coding agents. Index code once and retrieve only the symbols you need.

Description

Token-efficient navigation substrate for AI coding agents. Index code once and retrieve only the symbols you need.

README

pitlane-mcp

CI

Pitlane MCP logo

Token-efficient code intelligence MCP server for AI coding agents.

pitlane-mcp indexes a codebase once with tree-sitter and lets agents retrieve the symbols they actually need instead of dumping whole files into context.

pitlane-mcp demo

Why

AI coding agents tend to over-read. pitlane-mcp gives them a smaller navigation surface and symbol-level reads so they can:

  • index code once
  • discover the right symbol or file
  • read the smallest useful unit
  • trace execution paths and change impact

On the benchmark corpora in this repo, that translates into large reductions in prompt footprint, often by one or two orders of magnitude, while keeping navigation grounded in the codebase.

What It Does

  • AST-based indexing for Rust, Python, JavaScript, TypeScript, Svelte, C, C++, Go, Java, C#, Ruby, Swift, Objective-C, PHP, Zig, Kotlin, Lua, Solidity, and Bash
  • BM25 symbol search plus optional semantic search
  • Small default MCP surface for agents
  • Composite navigation tools for discovery, reading, path tracing, and impact analysis
  • Incremental re-indexing and disk-persisted indexes
  • Fully local operation with no required external service

Installation

Download a pre-built binary from GitHub Releases for Linux, macOS, and Windows.

Or install via Homebrew:

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

Or install via cargo-binstall:

cargo binstall pitlane-mcp

Or install from crates.io:

cargo install pitlane-mcp

Or build from source:

cargo build --release
cp target/release/pitlane-mcp ~/.local/bin/
cp target/release/pitlane ~/.local/bin/

Quickstart

Claude Code

claude mcp add pitlane-mcp -- pitlane-mcp

OpenCode

Add to opencode.json or opencode.jsonc:

{
  "mcp": {
    "pitlane-mcp": {
      "type": "local",
      "command": ["pitlane-mcp"]
    }
  }
}

VS Code / Kiro IDE

Add to .vscode/mcp.json or .kiro/settings/mcp.json:

{
  "mcp": {
    "servers": {
      "pitlane-mcp": {
        "type": "stdio",
        "command": "pitlane-mcp",
        "args": []
      }
    }
  }
}

Default Workflow

Most users should stay on the default tool tier:

  1. Call ensure_project_ready once at startup. It ensures the index exists and reports whether embeddings are still running, but it does not block on embeddings.
  2. Use investigate first for broad code questions such as subsystem, behavior, and execution-path questions.
  3. Use locate_code when you need discovery without full source.
  4. Use read_code_unit once you know the target.
  5. Use trace_path for explicit source-to-sink or config-to-effect questions.
  6. Use analyze_impact before edits or refactors.
  7. Use search_content only when you know a text fragment but not the owning symbol.

Default public tier:

  • ensure_project_ready
  • investigate
  • locate_code
  • read_code_unit
  • trace_path
  • analyze_impact
  • get_index_stats
  • search_content

Advanced primitives are hidden from tools/list by default. Set PITLANE_MCP_TOOL_TIER=all to expose the full surface.

Documentation

CLI

The pitlane binary exposes the same code intelligence outside MCP.

Examples:

pitlane index /your/project
pitlane investigate /your/project "How does ignore handling work?"
pitlane search /your/project authenticate --kind method
pitlane symbol /your/project src/auth.rs::Auth::login[method]
pitlane usages /your/project src/auth.rs::Auth::login[method]

All commands output JSON to stdout. Logs go to stderr and are controlled with RUST_LOG.

Supported Languages

pitlane-mcp supports Rust, Python, JavaScript, TypeScript, Svelte, C, C++, Go, Java, C#, Bash, Ruby, Swift, Objective-C, PHP, Zig, Lua, Kotlin, and Solidity.

For the full extension matrix and symbol-kind coverage, see Languages and Symbol Kinds.

Notes

  • pitlane-mcp is feature-complete and maintained as an OSS navigation tool.
  • Benchmark numbers in this repo are release-specific snapshots, not guarantees for every agent harness or model.

License

Licensed under either of MIT License or Apache License, Version 2.0, at your option.

Release History

VersionChangesUrgencyDate
v0.10.0## pitlane-mcp v0.10.0 — intent-aware navigation, single-call investigation, and session-aware reads This release is the biggest architectural step since v0.9.0. It introduces a new high-level tool tier built around intent rather than implementation detail, a single-call investigation tool that replaces multi-step discovery sequences, and a session layer that tracks what the agent has already seen so it can steer toward expansion instead of redundant rereads. ### `investigate` — answer a cHigh4/20/2026
v0.9.1# pitlane-mcp v0.9.1 This patch release focuses on making startup behavior more predictable, preventing semantic-search hangs, and improving the project documentation and demo material. ## Highlights - `ensure_project_ready` is now non-blocking with respect to embeddings. - Semantic `search_symbols` queries now have a timeout to avoid hanging on slow embedding backends. - The CLI now reports total embeddings stored separately from the number newly written during the current run. - ThHigh4/15/2026
v0.9.0## pitlane-mcp v0.9.0 - smarter startup, better discovery, Solidity support, and safer workspace boundaries ### Smarter startup and discovery This release makes pitlane much easier to boot up and navigate from an agent workflow. A new `ensure_project_ready` tool provides a preferred one-call startup path by combining indexing with conditional embedding waits, so agents can get to a usable project state with less orchestration. Discovery also got a major upgrade. `search_content` addsMedium4/10/2026
v0.8.0## pitlane-mcp v0.8.0 - graph-aware navigation, better indexing, and stronger Svelte support ### Graph-aware navigation `find_callees` and `find_callers` are now available in the MCP server, giving pitlane shallow graph-aware navigation without changing its focused scope. Use `find_callees` to inspect a symbol’s direct outgoing references, and `find_callers` to see direct incoming references for quick impact checks. This is meant to stay lightweight and fast: enough graph awareness to iMedium4/8/2026
v0.7.0## pitlane-mcp v0.7.0 - BM25 camelCase tokenizer and better indexing ### BM25 camelCase tokenizer The BM25 index now uses a custom tokenizer that splits at camelCase, PascalCase, and digit boundaries before indexing. `LowerInstruction` is indexed as `["lower", "instruction"]`, `parseHTTPResponse` as `["parse", "http", "response"]`, `base64Encode` as `["base", "64", "encode"]`. Queries like `"lower instruction"` or `"http response"` now match symbols they previously missed entirely. This fiMedium4/6/2026
v0.6.0## What's New ### New Tools - **`get_lines`** — fetches a file slice by line range for blocks that aren't named symbols. Useful when an agent needs context around a specific line without reading the whole file. - **`get_index_stats`** — returns symbol counts by language and kind. Lets agents orient in a new codebase without burning tokens on `get_project_outline`. ### Enhancements - **`get_symbol` signature-only default** — when fetching a class, struct, interface, or trait symbolMedium4/4/2026
v0.5.0## What's New ### New Languages - **Bash** — tree-sitter indexing for `.sh` and `.bash` files. Extracts functions. - **C#** — tree-sitter indexing for `.cs` files. Extracts classes, structs, interfaces, enums, methods, constructors, delegates, and type aliases. Class and struct bodies are trimmed to the header line when methods are present. - **Ruby** — tree-sitter indexing for `.rb` files. Extracts classes, modules, methods, and singleton methods. Class and module bodies aMedium4/3/2026
v0.4.3**Full Changelog**: https://github.com/eresende/pitlane-mcp/compare/v0.4.2...v0.4.3Medium4/2/2026
v0.4.2**Full Changelog**: https://github.com/eresende/pitlane-mcp/compare/v0.4.1...v0.4.2Medium4/2/2026
v0.4.1## What's new in v0.4.1 ### Installation improvements - **Pre-built binaries** — Linux (x86_64, aarch64), macOS (x86_64, Apple Silicon), and Windows (x86_64) binaries are now attached to every release. Download directly from the Assets section below. - **`cargo binstall` support** — `cargo binstall pitlane-mcp` now pulls pre-built binaries instead of compiling from source. ### Documentation - Benchmarks refreshed on AMD Ryzen 9 9950X / 32 GB RAM / NVMe SSD. - Added eMedium4/2/2026
v0.4.0## What's New ### New Languages - **Go** — Added tree-sitter-based indexing for Go (`.go`). Extracts functions, methods, structs, interfaces, and type aliases. - **Java** — Added tree-sitter-based indexing for Java (`.java`). Extracts classes, interfaces, enums, records, and methods. Class symbols are trimmed to their header when methods are present, keeping token usage compact. ### Token Efficiency - **JS/TS class body trimming** — Classes with methods are trimmed to their header line, matcMedium4/1/2026
v0.3.0## What's New ### New Languages - **C and C++** — Added tree-sitter-based indexing for C (`.c`, `.h`) and C++ (`.cpp`, `.cc`, `.cxx`, `.hpp`, `.hxx`). Extracts functions, structs, enums, typedefs, and macros; C++ additionally covers classes, methods, and namespace-scoped symbols. - **JavaScript and TypeScript** — Added indexing for JS/TS codebases. Covers function declarations, classes, arrow functions assigned to variables, exported variants, and TypeScript-specific constructs (interfaces, tyMedium3/29/2026
v0.2.0## What's New ### New Features - **`get_symbol` signature_only parameter** — Retrieve just a symbol's API contract (signature) without the full implementation body, cutting token usage for API exploration workflows. - **`find_usages` AST traversal** — Replaced brittle text search with tree-sitter AST traversal for accurate, language-aware usage lookups across the codebase. - **Watcher debouncing** — File change events are now batched/debounced before triggering reindexing, reducing redundant wMedium3/28/2026
v0.1.0Initial release — Rust and Python code intelligence over MCP stdio.Medium3/27/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

contextgitPersistent memory layer for AI agent workflows0.1.9
sofos-codeAI coding agent for your terminal, implemented in pure Rustv0.2.2
PlexMCP-OSS🌐 Build a robust MCP gateway platform to enhance your Plex experience with seamless integration and reliable performance.main@2026-04-21
tekmetric-mcp🔍 Ask questions about your shop data in natural language and get instant answers about appointments, customers, and repair orders with Tekmetric MCP.main@2026-04-21
rails-ai-contextAuto-introspect your Rails app and expose it to AI assistants. 38 tools, zero config, works with Claude, Cursor, Copilot, and any MCP client.v5.10.0