Erstellt eine kompakte Symbol-Graph-Map deiner Codebase, damit AI Coding Agents Repositories navigieren können, ohne jede Datei einzeln lesen zu müssen.
Auch bekannt als glincker/stacklit
- Stars
- 131
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- —
- Letzter Commit
- 9. Nov. 2026
- Lizenz
- MIT
Was ist stacklit MCP?
stacklit ist ein MCP server. Erstellt eine kompakte Symbol-Graph-Map deiner Codebase, damit AI Coding Agents Repositories navigieren können, ohne jede Datei einzeln lesen zu müssen.
Zusammenfassung generiert aus dem README des Projekts
Über stacklit MCP server
Stacklit bietet eine Möglichkeit, Codebases in kompakte Symbol-Graphen zu mappen, wodurch AI Coding Agents große Repositories navigieren können, ohne jede Datei lesen zu müssen. Durch das Parsen von Code mit tree-sitter wird eine stacklit.json Datei generiert, die Module, Exports und Dependency Edges enthält. Dieser Ansatz reduziert die Token-Last für LLMs erheblich; so benötigte beispielsweise ein 19.500 Zeilen umfassendes Go-Repository nur 137 Tokens für eine Map.
Entwickler können dies lokal als Go-Binary oder via npm und brew ausführen. Es funktioniert ohne LLM und macht keine Netzwerkaufrufe, was Privatsphäre und Determinismus garantiert. Das Tool enthält ein CLI mit Commands wie query, slice und impact, um Agents bei der Suche nach spezifischen Code-Stellen zu unterstützen. Für Nutzer von MCP bietet der Befehl stacklit serve 15 Tools zur direkten Integration in AI Assistants.
Es werden 48 Sprachen und Formate unterstützt, wobei für 20 spezifische Sprachen wie Python, Rust und TypeScript ein Symbol-Graph und Call Edges zur Verfügung stehen. Das System ist so konzipiert, dass es in die Versionsverwaltung eingecheckt werden kann, damit der Index zusammen mit dem Code aktuell bleibt.
Was du damit machen kannst
- 1LLM-Tokenverbrauch reduzierenEin AI Agent kann eine kompakte Map nutzen, anstatt ganze Dateien zu durchsuchen, um ein Repository zu verstehen.
- 2Komplexe Dependency-Strukturen navigierenEin Entwickler kann eine AI bitten, mithilfe des Symbol-Graphen spezifische Funktionsdefinitionen oder Code-Pfade zu finden.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du stacklit MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenstacklit MCP in Claude Code installieren
$ claude mcp add stacklit -- npx -y stacklitstacklit MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"stacklit": {
"command": "npx",
"args": [
"-y",
"stacklit"
]
}
}
}stacklit MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"stacklit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"stacklit"
]
}
}
}stacklit MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"stacklit","type":"stdio","command":"npx","args":["-y","stacklit"]}'stacklit MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"stacklit": {
"command": "npx",
"args": [
"-y",
"stacklit"
]
}
}
}stacklit MCP in Codex installieren
$ codex mcp add stacklit -- npx -y stacklitstacklit MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.stacklit] command = "npx" args = ["-y", "stacklit"]
stacklit MCP in Gemini CLI installieren
$ gemini mcp add -s user stacklit npx -- -y stacklitstacklit MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"stacklit": {
"command": "npx",
"args": [
"-y",
"stacklit"
]
}
}
}Automatisierte Checks
Geluften am 12. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarBestanden
- Open Source Lizenz (OSI)Bestanden
- Commit oder Release im letzten JahrBestanden
- Package-Name ähnelt keinem populären PackageBestanden
- Remote Endpoint nutzt HTTPSNicht geprüft
- Destruktive Tools sind markiertNicht geprüft
- Keine versteckten Anweisungen an das ModellBestanden
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenNicht geprüft
README
Auf GitHub ansehenStacklit maps your codebase once and keeps the map fresh. It parses your repo with tree-sitter and writes stacklit.json: modules, exports, dependency edges and hints. Commit it, and your coding agent reads a few hundred tokens instead of crawling your files, then uses a few commands (query, slice, impact) to go straight to the right file.
Free and MIT, no paid tier. One Go binary, local and deterministic, no LLM, and the CLI makes no network calls. (The map page can load language icons from thesvg.org; STACKLIT_MAP_ICONS=off removes that.)
Install
npx stacklit init # scan, write the index, open the map
stacklit setup # wire up the assistants it detects
git add stacklit.json && git commit -m "add stacklit index"
Also: brew install glincker/tap/stacklit, npm install -g stacklit, go install github.com/glincker/stacklit/cmd/stacklit@latest, or a binary from Releases.
See it
Output
stacklit derive prints a compact map for a prompt (gin v1.10.0, 137 tokens, module list trimmed here):
gin | go | 8 modules | 19,537 lines | Gin, GitHub Actions, net/http
test: go test ./... | env: PORT
modules:
binding binding | depends: bytesconv, json
internal/bytesconv bytesconv | depended-by: binding, render, root
render render | depends: bytesconv, json
root root package | depends: binding, bytesconv, json, render
do-not-touch: .github/
stacklit query returns a token-budgeted slice of the symbol graph (output trimmed here):
$ stacklit query "how is the symbol graph built" --budget 600
internal/cli/graphcmds.go
50-63 func buildSymbolGraph(root string, includeTests ...bool) (*graph.SymGraph, error)
calls BuildSymbols E0.95
internal/graph/resolve.go
955-961 func BuildSymbols(root string, files []string, eo ExtractOptions) *SymGraph
What you get
| Index | stacklit.json, a Mermaid diagram (DEPENDENCIES.md by default, set with output.mermaid) and an interactive stacklit.html map |
| Languages | 48 languages and formats indexed; symbol graph for 20 (list) |
| Queries | query, explain, impact, path, hubs, slice, each with a hard --budget |
| MCP | stacklit serve: 15 tools, or --profile minimal for 4 (about 230 tokens of schema) |
| Hooks | git post-commit refresh; optional Claude Code hook that points a grepped identifier to its definition |
| CI | export (graphml, cypher, dot, mermaid and more), check architecture rules, status freshness, merge-graphs, a GitHub Action |
| Deterministic | same repo, same bytes. A committed index only changes when the code does |
| Privacy | no telemetry, no upload. The map loads language logos from thesvg.org unless STACKLIT_MAP_ICONS=off (details) |
Assistants
stacklit setup sets up 25 assistants, including Aider, Cline, Continue, OpenCode, Roo Code and Kiro, plus a generic AGENTS.md (stacklit setup --list shows all 26 targets). Anything else can read stacklit.json directly.
Languages
Stacklit indexes 48 languages and formats (full table). Symbol graph and call edges (query, slice, impact) cover 20 of them.
Symbol graph and call edges (20)
Index only (modules, exports and imports, no call edges)
Anything else gets line counts and language detection.
Benchmark
Two tests, with different answers. The first, with no model in the loop: six pinned repos in six languages, 58 tasks, tokens as bytes / 4. The derived map is 137 to 1,351 tokens. On 47 where-is-X questions one stacklit query with a 1,000 token budget put the right file first on 81% (95% interval 70 to 91) and in the top five on 96%. Grep with a hand written pattern did better, 89% first and 100% in the top five. The 81% was tuned after looking at failures, so treat it as an upper bound. Method and limits: bench/RESULTS.md.
The second is a real agent test, run twice. Round 1: 450 Claude Code sessions (Sonnet, 30 questions, three public repos, plan written before the first run). Stacklit changed how the agent works but did not lower cost overall: pooled cost ratio 1.00 [0.93, 1.07], tokens 1.01 [0.92, 1.10]. It used about a third fewer tool calls (0.68 [0.61, 0.77]), a quarter fewer turns (0.77) and over four fifths fewer grep and glob calls (0.18). Answers were right slightly less often (94.0% to 88.0% on the pre-registered grader, 98.0% to 95.3% audited). Cost ratio by repo (below 1 is cheaper, 50 paired sessions each; full tables, method, limits and the claims we do not make are in bench/agent-ab/RESULTS.md):
| Repo | Size | Cost ratio [95% CI] |
|---|---|---|
| levelrail | about 16,000 files | 0.78 [0.70, 0.86] |
| theauth-go | about 1,300 files | 1.10 [0.98, 1.25] |
| featuredrop | about 400 files | 1.23 [1.14, 1.33] |
Round 2 (650 more sessions, 40 new questions, four repos, bench/agent-ab/RESULTS-round2.md) pointed the same way. The 16,000 file repo was cheaper again (0.89 [0.84, 0.96] with the default wording, 0.87 [0.81, 0.93] with the routed wording). The smaller repos cost more: theauth-go 1.10 and 1.05, featuredrop 1.37 and 1.21, theauth (about 2,900 files) 1.61 and 1.42. Pooled over all four repos a session cost more, not less: 1.17 [1.11, 1.24] and 1.09 [1.04, 1.14]. Tool calls were 0.76 of the no Stacklit count and Grep and Glob calls 0.22 and 0.53. Right answers were equal (97.5%, 97.0%, 97.5%). The model had partly memorised featuredrop, which favours the side without Stacklit. So today Stacklit is for very large repos and "where is it" questions, not for small repos.
When it helps. Locate and add-feature questions ("where is it", "where does a new thing go") were 12 to 22 percent cheaper, mostly on the large repo. Trace questions cost the same and were right less often. "Who imports X" cost 1.59x [1.47, 1.72] because one exact grep already answers it. Small repos cost more, since the map is overhead there. The strict setup (crawl guard plus strict rules) measured worse and is off by default.
Docs
Usage | Languages | FAQ | Privacy | Architecture | Comparison | Roadmap | Changelog | Agent skill | Brand kit
Contributing: .github/CONTRIBUTING.md. Security reports: .github/SECURITY.md. Questions: Discussions.
MIT. See LICENSE.
stacklit MCP Fragen
Wie füge ich stacklit MCP zu Claude Code hinzu?
Führe claude mcp add stacklit -- npx -y stacklit in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich stacklit MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Wie hilft Stacklit AI Agents?
Es erstellt eine kompakte Map deines Repositorys, sodass Agents Commands wie query, slice und impact nutzen können, um Dateien zu finden, anstatt die gesamte Codebase zu durchsuchen.
Benötigt Stacklit eine Internetverbindung oder ein LLM?
Nein, es ist ein lokales, deterministisches Tool, das kein LLM nutzt und dessen CLI keine Netzwerkaufrufe tätigt.
Welche Sprachen unterstützt Stacklit?
Es indexiert 48 Sprachen und Formate, wobei für 20 davon ein Symbol-Graph und Call Edges verfügbar sind.
Ist Stacklit kostenlos?
Ja, es ist kostenlos, unter der MIT-Lizenz verfügbar und hat keine kostenpflichtigen Tarife.