# dekko

Parses repositories offline using tree-sitter to create call graphs and maps, cutting token waste during agent code search.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Author: aahlijia
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/aahlijia/dekko
- Updated: 2026-10-15
- HTML: https://affpapa.org/en/nevibecode/mcp/dekko

## What it does

dekko scans source code offline with tree-sitter without consuming model tokens. It produces a human-readable `.dekko/MAP.md` containing directory overviews, symbol signatures, and callers, alongside a machine-readable graph in `.dekko/map.json`. Coding assistants query this index directly to trace call chains or inspect file interfaces without dumping entire source files into context.

Author benchmarks show notable token savings on large repositories when exploring unfamiliar code or tracking caller hierarchies. Small isolated files gain far less from indexing, and repositories using languages beyond the primary Tier-1 set require installing the `dekko[all]` package.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add dekko -- uvx dekko
```
uvx runs the command named after the package; if the README names another one, use uvx --from dekko <command>

### Codex

**Platform CLI**
```bash
codex mcp add dekko -- uvx dekko
```
uvx runs the command named after the package; if the README names another one, use uvx --from dekko <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dekko": {
            "command": "uvx",
            "args": [
                "dekko"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from dekko <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "dekko": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "dekko"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from dekko <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add dekko uvx dekko
```
uvx runs the command named after the package; if the README names another one, use uvx --from dekko <command>

## When to use it
- generate static architecture maps and call graphs without token costs
- locate all callers of a function without grepping through source files
- inspect interfaces and signatures of large files with minimal context use
- produce a concise directory and entry point digest for code orientation

## Example prompts
- Run dekko summary to show the project structure and primary entry points
- Find every function that calls parse_config using dekko
- Outline the methods and caller hierarchy for parser.py without reading the entire file

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
