mcpField
D
dekko

dekko

Local
github.com/aahlijiaDeveloper Tools6Updated 3w ago

About dekko

dekko is an offline, dependency-free static code map generator and indexer for LLM coding agents. It builds human- and machine-readable maps with symbol relationships and call edges, and offers targeted codebase queries through a CLI, Claude Code plugin, and MCP server.

Key features

  1. 01Generate MAP.md and map.json code maps
  2. 02Parse repositories with tree-sitter
  3. 03Build symbol and caller/callee relationships
  4. 04Summarize directories, hotspots, and entry points
  5. 05Query code structure through CLI or agent interfaces

Use cases

  1. 01Orient an agent in an unfamiliar repository
  2. 02Find callers and callees of a symbol
  3. 03Outline a large file or directory without reading every file
  4. 04Inspect code structure through Claude Code or Cline

MCP support

Provides an MCP server for agents to query the generated code map and codebase structure. It is also available as a CLI and a Claude Code /map plugin.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"aahlijia-dekko": {
"command": "uvx",
"args": [
"dekko"
]
}
}
}
Run commanduvx dekko

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypidekko1.9.0

Tools

18

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
kindstringNoComma-separated symbol kinds to restrict to (function, method, class, ...)
rootstringNoRepo root containing map.json (default: server cwd)
limitintegerNoMax hits (default 15)
querystringYesFree-text description of the code you're looking for
budgetintegerNoToken budget for the output (default 800; 0 = no cap)
scorerenumNoRelevance scorer: 'lexical' (default, BM25, always available), 'embedding' (hashing-trick embedding), or 'both' (fuses lexical + embedding rankings via reciprocal rank fusion) — 'embedding' and 'both' only work if the server was installed with the dekko[search] extralexical | embedding | both
include_testsbooleanNoInclude test-path symbols (default: false)

Details

From the project README

dekko

CI PyPI Downloads Python License: MIT Ruff

Ever watched your coding agent grep blind through a repo, open three files it didn't need, and burn fifteen thousand tokens just to answer "who calls this function"? That's the problem dekko exists to fix.

dekko demo: mapping a repo and querying a symbol in seconds

This demo runs on dekko's own repo (commit 835733c) — clone it and run the same three commands yourself.

dekko is a fast, offline, dependency-free static code map generator and codebase indexer for LLM coding agents. It scans a repository with tree-sitter (no model tokens spent parsing) and writes:

  • MAP.md — a human-readable map: a per-directory overview, an embedded architecture diagram, load-bearing/orchestrator rankings, then every file's functions/methods with signatures, doc lines, and who calls and is called by whom.
  • map.json — the same graph in machine-readable form.

On top of the map, dekko gives an agent a token-cheap way to answer questions like "what does this file contain," "who calls this function," and "what do I need to safely change this" — without reading whole files. It ships as a CLI, a Claude Code /map plugin + MCP server (Model Context Protocol), and works with Cline too.

The result: 10x-300x fewer tokens than a plain Read/Grep workflow on the everyday tasks (orientation, outlining a large file, a symbol's callers), measured across 7 real, unmodified open-source repos on dekko 0.43.77. The floor, a small grep-friendly local symbol, is about 2.5x. The full breakdown is right below.

Why dekko?

Most agent workflows gather context by reading whole files or grepping across a repo — expensive, and it throws away structure (who calls what, what a function's fan-in/fan-out looks like). dekko instead parses the repo once into a call graph and answers targeted questions against it. Measured across 7 real, unmodified open-source repos (Go, TypeScript, Java, Rust, Python/C++ — up to 14k files, 172k symbols) on dekko 0.43.77, dekko's structured queries used 10x–300x fewer tokens than the equivalent Read/Grep workflow for the same task (repo orientation, outlining a large file, tracing a symbol's callers).

TaskExample repo (scale)dekkoRead/GrepSavings
Repo orientation (summary)awesome-go (10 files)359 tok~16,328 tok~45x
Repo orientation (summary)claude-buddy (57 files)~349 tok~113,514 tok (every source file)~325x
Outline a large fileclaude-code REPL.tsx (5,005 lines)~1,154 tok~223,963 tok~194x
Outline a large filecline SdkController.ts (84 KB)1,803 tok~21,023 tok~11.7x
Outline a directoryzed crates/git_ui/src (32 files)~35,778 tok~418,520 tok~11.7x
Callers of a symbolclaude-code errorMessage~602 tok~18,521 tok (323+ grep hits)~31x
Callers of a symbolzed MultiWorkspace.new (22 sites, 8 files)~809 tok~381,446 tok (read the caller files)~471x
External-API usageclaude-code chalk~798 tok~8,099 tok~10x
Bundled context (workset)awesome-go ToHTML263 tok4,104 tok~16x

dekko's cost stays roughly flat per query while Read/Grep scales with file/repo size, so the ratio grows with scale. It's fast in wall-clock terms too: mapping dekko's own ~4,300-symbol codebase from a cold cache takes about 5 seconds on all cores, an incremental remap after an edit is well under a second, and queries against the resulting map return instantly. The win isn't universal — small, self-contained files and already-grep-friendly local symbols see little benefit (the floor measured was about 2.5x). See benchmarks/real-world-repos/ for the full per-task breakdown, methodology, the original 2026-08 study, and the correctness caveats it raised and how they were closed.

Compared to tag-index tools like ctags/gtags, dekko resolves actual call edges (not just definitions), ranks files by load-bearing-ness, and speaks directly to agents over MCP or the CLI — no editor plugin required.

Install

uv tool install dekko      # or: pip install dekko / pipx install dekko
dekko --claude-install     # add the /map command + MCP server to Claude Code, then restart

Extras (dekko[all] for 43 more languages, dekko[search] for embedding search), installing from a local clone, and uninstalling are in docs/install.md.

Quick start

cd my-project
dekko map                  # writes .dekko/MAP.md + .dekko/map.json
dekko summary               # ~40-line digest: dirs, hotspots, entry points

.dekko/ is git-ignored by default; the map regenerates on demand, so you rarely need to run dekko map again by hand. If your repo has languages outside the default Tier-1 set (Python, C, C++, JS/TS, Go, Java, Kotlin, Rust), dekko map will say so per file; install dekko[all] for 43 more languages (see Install) and re-run. The list says how well each one is read.

Documentation

  • docs/install.md — installation, extras, local clone, uninstall
  • docs/cli.md — every CLI command, symbol targets, excluding files, notes, daemon mode, language support
  • docs/claude-code.md — the /map plugin, push hooks, Claude Code skills, the MCP server, and Cline

Learn more

  • CHANGELOG.md — per-version history
  • CONTRIBUTING.md — dev setup, testing, releasing
  • benchmarks/ — token-efficiency measurements, including a 7-repo real-world comparison against a plain Read/Grep workflow

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.