loctree-mcp

loctree-mcp

Structural code intelligence for AI agents. Scan once, query everything — dead exports, circular imports, dependency graphs, and more. CLI + MCP server.

Category
Visit Server

README

<p align="center"> <img src="https://loct.io/assets/loctree-logo.png" width="128" alt="loctree logo"/> </p>

<h1 align="center">loctree</h1>

<p align="center"> <strong>Scan once, query everything.</strong><br/> AI-oriented static analysis for dead exports, circular imports, dependency graphs, and holographic context slices. </p>

<p align="center"> <a href="https://crates.io/crates/loctree"><img src="https://img.shields.io/crates/v/loctree.svg" alt="crates.io"/></a> <a href="https://crates.io/crates/loctree"><img src="https://img.shields.io/crates/d/loctree.svg" alt="downloads"/></a> <a href="https://docs.rs/loctree"><img src="https://docs.rs/loctree/badge.svg" alt="docs.rs"/></a> <a href="https://github.com/Loctree/loctree-ast/actions/workflows/ci.yml"><img src="https://github.com/Loctree/loctree-ast/actions/workflows/ci.yml/badge.svg" alt="CI"/></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT%20OR%20Apache--2.0-blue.svg" alt="License"/></a> </p>


Install

curl -fsSL https://loct.io/install.sh | sh   # CLI + loctree-mcp
cargo install --locked loctree loctree-mcp   # Cargo, reproducible
npm install -g loctree                       # CLI only; published targets follow the latest npm release
brew install loctree/cli/loct                 # CLI via Homebrew tap
brew install loctree/mcp/loctree-mcp          # MCP via Homebrew tap

Public install channels track the latest published release, which can lag behind the workspace version on main. If you're validating a specific release, check crates.io, npm, or GitHub Releases rather than assuming branch parity.

Quick Start

Artifacts are stored in your OS cache dir by default (override via LOCT_CACHE_DIR). loct is the canonical CLI command. loctree remains available as a quiet compatibility alias.

loct                              # Scan project, write cached artifacts
loct --for-ai                     # AI-optimized overview (health, hubs, quick wins)
loct slice src/App.tsx --consumers # Context: file + deps + consumers
loct find useAuth                  # Find symbol definitions
loct find 'Snapshot FileAnalysis'  # Cross-match: where terms meet
loct impact src/utils/api.ts       # What breaks if you change this?
loct health                        # Quick summary: cycles + dead + twins
loct dead --confidence high        # Unused exports
loct cycles                        # Circular imports
loct twins                         # Dead parrots + duplicates + barrel chaos
loct audit                         # Full codebase review

What It Does

loctree captures your project's real dependency graph in a single scan, then answers structural questions instantly from the snapshot. Designed for AI agents that need focused context without reading every file.

Core capabilities:

  • Holographic Slice - extract file + dependencies + consumers in one call
  • Cross-Match Search - find where multiple terms co-occur (not flat grep)
  • Dead Export Detection - find unused exports across JS/TS, Python, Rust, Go, Dart
  • Circular Import Detection - Tarjan's SCC algorithm catches runtime bombs
  • Handler Tracing - follow Tauri commands through the entire FE/BE pipeline
  • Impact Analysis - see what breaks before you delete or refactor
  • jq Queries - query snapshot data with jq syntax (loct '.files | length')

Why loctree

grep/rg LSP loctree
Knows imports vs definitions No Per-file Whole graph
Dead export detection No No Yes (multi-lang)
Cross-file impact analysis No Limited Full transitive
AI agent integration No No MCP server + --for-ai
Speed on 1M LOC repo Fast (text) Slow (indexing) ~3s (structural)
Setup None Per-editor One binary

MCP Server

loctree ships as an MCP server for seamless AI agent integration:

loctree-mcp    # Start via stdio (configure in your MCP client)

7 tools: repo-view, slice, find, impact, focus, tree, follow. Each tool accepts a project parameter — auto-scans on first use, caches snapshots in RAM. Project-agnostic: analyze any repo without configuration.

{
  "mcpServers": {
    "loctree": {
      "command": "loctree-mcp",
      "args": []
    }
  }
}

Direct download users can also fetch signed release assets from the monorepo GitHub release page, which mirrors both the CLI and loctree-mcp tarballs.

Language Support

Language Dead Export Accuracy Notes
Rust ~0% FP Tested on rust-lang/rust (35K files)
Go ~0% FP Tested on golang/go (17K files)
TypeScript/JavaScript ~10-20% FP JSX/TSX, React patterns, Flow, WeakMap
Python ~20% FP Library mode, __all__, stdlib detection
Svelte <15% FP Template analysis, .d.ts re-exports
Vue ~15% FP SFC support, Composition & Options API
Dart/Flutter Full pubspec.yaml detection

Auto-detects stack from Cargo.toml, tsconfig.json, pyproject.toml, pubspec.yaml, src-tauri/.

Holographic Slice

Extract 3-layer context for any file:

loct slice src/App.tsx --consumers
Slice for: src/App.tsx

Core (1 files, 150 LOC):
  src/App.tsx (150 LOC, ts)

Deps (3 files, 420 LOC):
  [d1] src/hooks/useAuth.ts (80 LOC)
    [d2] src/contexts/AuthContext.tsx (200 LOC)
    [d2] src/utils/api.ts (140 LOC)

Consumers (2 files, 180 LOC):
  src/main.tsx (30 LOC)
  src/routes/index.tsx (150 LOC)

Total: 6 files, 750 LOC

Cross-Match Search

Multi-term queries show where terms meet, not flat OR:

loct find 'Snapshot FileAnalysis'
=== Cross-Match Files (9) ===
  src/snapshot.rs: Snapshot(6), FileAnalysis(4)
  src/slicer.rs: Snapshot(2), FileAnalysis(3)
  ...

=== Symbol Matches (222 in cross-match files) ===
  src/snapshot.rs:20 - Snapshot [struct]
  src/types.rs:15 - FileAnalysis [struct]
  ...

=== Parameter Matches (4 cross-matched) ===
  src/slicer.rs:45 - snapshot: &Snapshot in build_slice(analyses: &[FileAnalysis])

jq Queries

Query snapshot data directly:

loct '.dead_parrots'                           # Dead code findings
loct '.files | length'                         # Count files
loct '.edges[] | select(.from | contains("api"))' # Filter edges
loct '.summary.health_score'                   # Health score

CI Integration

loct lint --fail --sarif > results.sarif        # SARIF for GitHub/GitLab
loct findings | jq '.dead_exports.total'        # Check dead export count
loct findings --summary | jq '.health_score'    # Health summary JSON

Crates

Crate Description
loctree Core analyzer + CLI (loct, loctree)
report-leptos HTML report renderer (Leptos SSR)
loctree-mcp MCP server for AI agents

Development

make precheck        # fmt + clippy + check (run before push)
make install         # Install loct, loctree, loctree-mcp
make test            # Run all workspace tests
make publish         # Cascade publish to crates.io

Badge

[![loctree](https://img.shields.io/badge/analyzed_with-loctree-a8a8a8?style=flat&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiMwMDAiLz48dGV4dCB4PSI4IiB5PSIxMiIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgZm9udC1zaXplPSIxMCIgZmlsbD0iI2E4YThhOCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+TDwvdGV4dD48L3N2Zz4=)](https://crates.io/crates/loctree)

License

MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.


šš…šš’šš‹ššŽššŒšš›ššŠššššššŽšš. with AI Agents ā“’ 2025-2026 Loctree Team

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured