ast-outline-mcp
v1.4.9
Published
MCP server for ast-outline - a tree-sitter-based CLI that provides structural code outlines, digests, symbol extraction, and AST-aware grep
Maintainers
Readme
ast-outline-mcp
An MCP (Model Context Protocol) server for ast-outline — a tree-sitter-based CLI that lets AI coding agents pull exactly what they need from a codebase: structural outlines, module digests, symbol bodies, and AST-aware grep.
Why
LLM coding agents explore codebases by reading files directly. A 1200-line file costs 1200 lines of context just to answer "what methods are in here?" — ast-outline provides the file's shape in 60–100 lines, and this MCP server exposes that functionality to any MCP-compatible client.
Prerequisites
- Node.js >= 18
ast-outlineCLI installed and available on PATH (installation guide)
uv tool install ast-outlineInstallation
Run via npx (no install needed)
npx ast-outline-mcpInstall globally
npm install -g ast-outline-mcp
ast-outline-mcpMCP Client Configuration
Add to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"ast-outline": {
"command": "npx",
"args": ["ast-outline-mcp"]
}
}
}Tools
digest
Get a compact one-page module map of a directory. Each file gets a size label and token estimate. Recommended for initial overview of a codebase.
Parameters:
path(string, required) — Directory path to digest
outline
Get a structural outline of one or more files or directories. Returns signatures with line ranges (no bodies).
Parameters:
path(string, required) — File or directory path to outlineimports(boolean) — Include import/use/using statementsnoPrivate(boolean) — Exclude private membersnoFields(boolean) — Exclude fields/propertiesnoDocs(boolean) — Exclude documentation commentsnoAttrs(boolean) — Exclude attributes/decorators
show
Extract the full source body of one or more symbols from a file.
Parameters:
file(string, required) — File path to extract symbols fromsymbols(string[], required) — Symbol names to extractsignature(boolean) — Return header/signature only, no body
grep
AST-aware structural search across files. Matches grouped by enclosing class/function.
Parameters:
pattern(string, required) — Search pattern (literal or regex, auto-detected)path(string, required) — File or directory path to searchkind(enum: def|call|ref|import) — Narrow results by classification kindwordMatch(boolean) — Match whole words onlycaseInsensitive(boolean) — Case-insensitive matchingfilesOnly(boolean) — List matching files onlycount(boolean) — Show match counts per filemaxCount(number) — Maximum number of matches per file
Prompts
explore-codebase
A prompt that guides an LLM to efficiently explore a codebase using ast-outline tools.
Development
npm install
npm test
npm run buildSupported Languages
ast-outline supports 20+ languages including TypeScript, Python, Go, Rust, C#, Java, Kotlin, Ruby, PHP, and more. See the full list.
License
MIT
