DocGraph
DocGraph
Репозиторий-нативный брокер контекста в Markdown — MCP-инструмент, который предоставляет кодирующим агентам релевантную задаче документацию вместо сброса docs/**.
Укажите репозиторий, и Claude Code (или любой MCP-клиент) получит единственный инструмент, docgraph_context(task, max_tokens), который превращает описание задачи в ранжированный, ограниченный по токенам набор Markdown-файлов, извлечённый из документации самого репозитория — вместо того, чтобы читать целые файлы целиком и надеяться, что нужная часть где-то там есть.
Зачем
Окна контекста агентов конечны, а структуры документации не предназначены для поиска. «Прочитать docs/**» либо превышает бюджет в большом репозитории, либо молча пропускает файлы вне docs/. DocGraph индексирует то, что действительно является документацией (навыки, README подпроектов монорепозитория, отдельные корневые файлы — не только docs/), разбивает длинные файлы-каталоги на их реальные разделы и возвращает только то, что нужно для конкретной задачи.
Никаких эмбеддингов, никаких вызовов LLM в процессе поиска. Детерминированно и проверяемо — вы всегда можете увидеть, почему документ попал в набор.
Related MCP server: search-docs
Как это работает
repo markdown
│
▼
discover.py 4-bucket rule: root files, docs/, skills/, monorepo
│ subproject READMEs (all-caps filename, one level deep)
▼
index.py SQLite + FTS5 (porter stemming), recursive H2→H4 chunking
│ for long catalog docs, content-hash dedup, size-capped
│ co-location edges between files in the same directory
▼
db/docgraph.db
│
▼
context.py task → AND-first/OR-fallback FTS query → co-location
│ neighbor expansion (score-floored) → token-budget trim
▼
mcp_server.py wraps it as one MCP tool, stdio transportУстановка
pip install -e .Использование
# Build the index for a repo
python -m docgraph.index /path/to/repo db/my-repo.db
# Generate a context pack directly (useful for testing before wiring into an agent)
python -m docgraph.context /path/to/repo db/my-repo.db "task description" --max-tokens 8000
# Run as an MCP server (stdio) — point your MCP client's config at this
python -m docgraph.mcp_server /path/to/repo db/my-repo.db
# Simple graph visualization (file-level nodes, co-location edges)
python -m docgraph.visualize db/my-repo.db graphs/my-repo_graph.html --title "my-repo"Строки задачи используются как поиск по ключевым словам, а не семантический поиск — будьте конкретны и избегайте указания имени файла, который вы собираетесь создать (он не может совпасть с тем, чего ещё не существует).
Регистрация в Claude Code
claude mcp add my-repo-docs -s user -e PYTHONIOENCODING=utf-8 -- \
python -m docgraph.mcp_server /path/to/repo /full/path/to/db/my-repo.dbОдин экземпляр сервера = один репозиторий + один индекс. Для нескольких репозиториев зарегистрируйте несколько серверов с разными именами и отдельными файлами .db.
Правило обнаружения
root — отдельные файлы
.mdнепосредственно в корне репозиторияdocs — всё, что находится в каталоге с именем
docsна любой глубинеskills — то же самое для каталога с именем
skills(захватывает.claude/skills/и.agents/skills/)subdir-allcaps — файлы ровно на один уровень ниже корня, в другом подкаталоге, имя которых (без расширения) написано ЗАГЛАВНЫМИ БУКВАМИ (
README,TODO,ARCHITECTURE...) — охватывает мета-документы подпроектов монорепозитория
Любое хранилище может быть исключено из запуска с помощью --exclude-bucket.
Заметки по дизайну
FTS5 с портерной стеммингом, без эмбеддингов. Детерминированно, дёшево и достаточно хорошо — явные ссылки между документами стабильно близки к нулю во всех реальных репозиториях, на которых это тестировалось.
Рёбра по совместному расположению, а не явные ссылки. Файлы в одном каталоге получают слабое ребро «связан», так как это сигнал, который действительно присутствует. Ограничение — 10 файлов на каталог; после этого «одна папка» перестаёт быть значимой связью и становится шумом.
Рекурсивное разбиение, а не фиксированная глубина. Длинные документы разбиваются на уровне H2; любой раздел, всё ещё слишком большой с реальной подструктурой, разбивается снова на уровне H3, затем H4. В одних репозиториях плоские каталоги разделов H2, в других — один всеобъемлющий H2, скрывающий реальную структуру под H3 — фиксированная глубина в любом случае неверна для одного из них.
Сначала AND, затем OR при неудаче. Сначала попробуйте требовать совместного вхождения всех слов запроса; расширяйте до OR только если ничего не найдено. Одно точное совпадение — лучшее доказательство, чем несколько шумных.
Дедупликация по хешу содержимого при индексации. Зеркальные файлы (например, навык, дублированный в
.claude/и.agents/) индексируются один раз, а не два.
Статус
MVP, протестирован на трёх реальных репозиториях разной структуры (корпуса из 10, 8 и 72 файлов) и используется вживую через Claude Code. Не реализовано: эмбеддинги, режим наблюдения, реальный интерфейс графа (кроме прототипа визуализации), поиск по нескольким репозиториям.
Лицензия
Личный проект, лицензия не указана.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables semantic search through markdown documentation in code repositories using AI embeddings. Provides intelligent document chunking and similarity-based search to help users find relevant documentation based on meaning rather than just keywords.
- AlicenseAqualityAmaintenanceEnables AI agents to search local Markdown documents using natural language, with automatic indexing and section-level retrieval.921MIT
- Alicense-qualityBmaintenanceEnables AI agents to search project documentation via a semantic index, returning relevant markdown files to read before editing code.3MIT
- Alicense-qualityBmaintenanceLocal-first context retrieval engine that serves precise documentation chunks to coding agents via MCP, ensuring high-confidence context for code generation.MIT
Related MCP Connectors
Token-efficient search for coding agents over public and private documentation.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/netteNz/docgraph'
If you have feedback or need assistance with the MCP directory API, please join our Discord server