Local DeepWiki MCP Server
Локальный MCP-сервер DeepWiki
Локальный MCP-сервер с упором на конфиденциальность, который генерирует документацию в стиле DeepWiki для частных репозиториев с возможностями RAG-вопросов и ответов.
Быстрый старт
Попробуйте немедленно — предварительно созданная вики этого проекта уже включена:
git clone https://github.com/UrbanDiver/local-deepwiki-mcp.git
cd local-deepwiki-mcp
uv sync # Install dependencies
deepwiki serve .deepwiki # Browse the wiki at http://localhost:8080Проиндексируйте свой собственный репозиторий — требуется провайдер LLM (OpenAI, Anthropic или Ollama):
export OPENAI_API_KEY="..." # Or ANTHROPIC_API_KEY for Anthropic
deepwiki init # Configure LLM + embedding providers
deepwiki config health-check # Verify providers are working
deepwiki update /path/to/repo # Index a repository and generate wiki
deepwiki serve /path/to/repo/.deepwikiТребования: Python 3.11+, uv (см. Установка uv ниже) и провайдер LLM:
OpenAI (по умолчанию) — установите переменную окружения
OPENAI_API_KEYAnthropic — установите переменную окружения
ANTHROPIC_API_KEYOllama (полностью локально, требуется GPU) — установите Ollama, затем выполните
ollama pull qwen3-coder:30b
Функции
Парсинг кода на нескольких языках с использованием tree-sitter (Python, TypeScript/JavaScript, Go, Rust, Java, C/C++, Objective-C, Swift, Ruby, PHP, Kotlin, C#)
AST-ориентированное разбиение на части (chunking), учитывающее структуру кода (функции, классы, методы)
Семантический поиск с использованием векторной базы данных LanceDB
Генерация вики с помощью LLM с поддержкой Ollama (локально), Anthropic и OpenAI
Настраиваемые эмбеддинги — локальные (sentence-transformers) или OpenAI
Инкрементальная индексация — повторная обработка только измененных файлов
RAG-вопросы и ответы — задавайте вопросы о вашей кодовой базе
Здоровье архитектуры — оценка по 9 параметрам (сложность, связность, «запахи» кода, уровни, текучесть, сцепление, дублирование, тестируемость, сопровождаемость)
Режим глубокого исследования (Deep Research) — многошаговое рассуждение для сложных архитектурных вопросов
Веб-интерфейс — просмотр сгенерированной вики в браузере
Экспорт в HTML — генерация статического HTML-сайта для обмена
Экспорт в PDF — генерация документации в формате PDF с диаграммами Mermaid
Интерактивная карта кода (Codemap) — визуализация потока выполнения между файлами с помощью диаграмм Mermaid
Ленивая генерация страниц — отсутствующие страницы вики генерируются по запросу при посещении
Установка
Использование uv (рекомендуется)
cd local-deepwiki-mcp
uv syncВсе провайдеры LLM и веб-интерфейс включены по умолчанию. Дополнительный пакет для экспорта в PDF:
uv sync --extra pdf # Add WeasyPrint for PDF export
uv sync --extra all # Same as --extra pdf (all optional extras)Использование pip
cd local-deepwiki-mcp
pip install -e ".[all]" # Recommended: install with all extras
# or: pip install -e . # Minimal: core onlyКонфигурация
Запустите мастер инициализации для автоматической генерации файла конфигурации:
deepwiki init # Interactive wizard
deepwiki init --non-interactive # Auto-detect defaults (CI/CD)Или создайте его вручную по адресу ~/.config/local-deepwiki/config.yaml:
embedding:
provider: "local" # or "openai"
local:
model: "all-MiniLM-L6-v2"
openai:
model: "text-embedding-3-small"
llm:
provider: "openai" # or "anthropic" or "ollama"
openai:
model: "gpt-4o"
# base_url: "https://your-proxy.example.com/v1" # For OpenAI-compatible proxies
anthropic:
model: "claude-sonnet-4-20250514"
ollama:
model: "qwen3-coder:30b"
base_url: "http://localhost:11434"
parsing:
languages:
- python
- typescript
- javascript
- go
- rust
- java
- c
- cpp
max_file_size: 1048576
exclude_patterns:
- "node_modules/**"
- "venv/**"
- ".git/**"
chunking:
max_chunk_tokens: 512
overlap_tokens: 50
output:
wiki_dir: ".deepwiki"
vector_db_name: "vectors.lance"Установка uv
uv — это быстрый менеджер пакетов Python. Если у вас его нет:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or with pip
pip install uv
# Or with Homebrew
brew install uvПосле установки перезапустите терминал или выполните source ~/.bashrc (или ~/.zshrc).
Интеграция MCP-сервера
MCP-сервер работает через stdio и совместим с любым AI-инструментом, поддерживающим MCP. Запустите его вручную с помощью:
deepwiki mcpИли настройте свой AI-инструмент для автоматического запуска:
Claude Code
Добавьте в ~/.claude/claude_code_config.json:
{
"mcpServers": {
"local-deepwiki": {
"command": "uv",
"args": ["run", "--directory", "/path/to/local-deepwiki-mcp", "local-deepwiki"],
"env": {
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}Cursor
Добавьте в настройки MCP в Cursor (Settings > MCP Servers > Add):
{
"mcpServers": {
"local-deepwiki": {
"command": "uv",
"args": ["run", "--directory", "/path/to/local-deepwiki-mcp", "local-deepwiki"],
"env": {
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}Windsurf
Добавьте в ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"local-deepwiki": {
"command": "uv",
"args": ["run", "--directory", "/path/to/local-deepwiki-mcp", "local-deepwiki"],
"env": {
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}VS Code (Copilot)
Добавьте в .vscode/mcp.json в вашем рабочем пространстве:
{
"servers": {
"local-deepwiki": {
"command": "uv",
"args": ["run", "--directory", "/path/to/local-deepwiki-mcp", "local-deepwiki"],
"env": {
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}Generic (любой MCP-клиент)
Сервер обменивается данными через stdio, используя протокол MCP. Запустите с помощью:
uv run --directory /path/to/local-deepwiki-mcp local-deepwikiИли без uv (после pip install -e .):
local-deepwikiПримечание: Замените /path/to/local-deepwiki-mcp на фактический путь, по которому вы клонировали репозиторий. Добавьте ANTHROPIC_API_KEY в блок env, если используете Anthropic вместо OpenAI.
Инструменты MCP (64 инструмента)
Сервер предоставляет 64 инструмента MCP в 8 категориях. Ниже приведены наиболее часто используемые инструменты с примерами, за которыми следует полный справочник.
Основные инструменты
index_repository
Индексация репозитория и генерация документации вики.
{
"repo_path": "/path/to/repo",
"full_rebuild": false,
"llm_provider": "ollama",
"embedding_provider": "local"
}ask_question
Задайте вопрос о кодовой базе с использованием RAG.
{
"repo_path": "/path/to/repo",
"question": "How does the authentication system work?",
"max_context": 5
}deep_research
Многошаговое рассуждение для сложных архитектурных вопросов. Выполняет декомпозицию запроса, параллельный поиск, анализ пробелов и комплексный синтез.
{
"repo_path": "/path/to/repo",
"question": "How does the authentication system interact with the database layer?",
"max_chunks": 30
}Инструмент | Описание |
| Индексация репозитория и генерация документации вики |
| RAG-вопросы и ответы о кодовой базе |
| Многошаговое рассуждение с декомпозицией и синтезом запросов |
| Получить оглавление вики |
| Прочитать конкретную страницу вики |
| Семантический поиск по кодовой базе |
| Экспорт вики в статический HTML-сайт |
| Экспорт вики в PDF с рендерингом диаграмм Mermaid |
Инструменты генерации (12)
Инструмент | Описание |
| Генерация диаграмм Mermaid (классы, зависимости, модули, последовательности) |
| Анализ графа вызовов функций |
| Глоссарий сущностей кода с возможностью поиска |
| Дерево иерархии классов |
| Анализ покрытия документацией |
| Генерация списка изменений на основе Git |
| Извлечение параметров и типов возвращаемых значений |
| Извлечение примеров тестов для сущностей |
| Обнаружение устаревших страниц вики |
| Сканирование на наличие жестко закодированных учетных данных |
| Статус индексации репозитория и его состояние |
| Список всех проиндексированных репозиториев |
Инструменты анализа и поиска (10)
Инструмент | Описание |
| Полнотекстовый поиск по страницам вики и сущностям кода |
| Нечеткий поиск имен (Levenshtein) ("Возможно, вы имели в виду?") |
| Импорты, вызывающие стороны и связанные файлы для исходного файла |
| Композитный: глоссарий + граф вызовов + наследование + тесты + API-документация |
| Анализ радиуса поражения с обратным графом вызовов и уровнем риска |
| Цикломатическая сложность и глубина вложенности через AST tree-sitter |
| Сопоставление git diff с затронутыми страницами вики и сущностями |
| RAG-вопросы и ответы об изменениях в коде |
| Разобранные метаданные из pyproject.toml, package.json и т.д. |
| Панель состояния вики: индекс, страницы, покрытие, статус |
Инструменты здоровья архитектуры (17)
Инструмент | Описание |
| Композитная оценка здоровья (A-F) по 9 измерениям |
| Ранжирование функций по сложности, когнитивной сложности, параметрам, длине или вложенности |
| Метрики связности Роберта К. Мартина (Ca, Ce, I, A, D) |
| Обнаружение "божественных" классов, завистливых функций, длинных методов и т.д. |
| Обнаружение нарушений уровней (обработчики→сервисы→ядро) |
| Частота изменений файлов с композитным показателем текучесть×сложность |
| Связность совместных изменений через коэффициент Жаккара |
| Сцепление классов LCOM4 и сцепление импортов модулей |
| Обнаружение клонов типа 1 (точные) и типа 2 (структурные) |
| Соотношение тестов к коду, отображение покрытия, плотность утверждений |
| Индекс сопровождаемости на функцию (Halstead + CC + LOC) |
| Приоритизированные предложения по рефакторингу с оценкой усилий/влияния |
| Сравнение здоровья между двумя git-рефами |
| Исторические снимки оценки здоровья |
| Сложность, "запахи", связность и риск на уровне модуля |
| Руководство по адаптации новых разработчиков |
| Интерактивные экскурсии по кодовой базе |
Инструменты карты кода (2)
Инструмент | Описание |
| Карты потока выполнения между файлами с диаграммами Mermaid и повествованием LLM |
| Поиск интересных точек входа из узлов графа вызовов |
Инструменты исследования и прогресса (4)
Инструмент | Описание |
| Список сохраненных контрольных точек глубокого исследования |
| Возобновление ранее сохраненного сеанса исследования |
| Отмена выполняемой операции исследования |
| Проверка прогресса длительных операций |
Агентские инструменты (5)
Инструмент | Описание |
| Контекстно-зависимые предложения по следующим инструментам на основе недавних действий |
| Запуск предопределенных многошаговых рабочих процессов (например, полный анализ, быстрый обзор) |
| Пакетная версия |
| Агентский RAG: оценивает релевантность фрагментов, переписывает запросы для лучших результатов |
| Поиск релевантных инструментов на основе запроса на естественном языке |
Инструменты веб-сервера (2)
Инструмент | Описание |
| Запуск веб-сервера вики для просмотра документации |
| Остановка запущенного веб-сервера вики |
Команды CLI
Все команды являются подкомандами унифицированного CLI deepwiki. Устаревшие точки входа (deepwiki-serve, deepwiki-export и т.д.) по-прежнему работают для обратной совместимости.
Команда | Описание |
| Интерактивный мастер настройки конфигурации |
| Показать здоровье индекса, свежесть и покрытие вики |
| Индексация репозитория и перегенерация вики (инкрементально) |
| Запуск MCP-сервера (для интеграции с IDE) |
| Обслуживание вики с веб-интерфейсом |
| Режим наблюдения - автоматическая переиндексация при изменениях файлов |
| Экспорт вики в статический HTML |
| Экспорт вики в PDF |
| Управление конфигурацией (проверка, отображение, проверка здоровья, профиль) |
| Интерактивный нечеткий поиск по коду |
| Управление кэшем (статистика, очистка) |
# Setup
deepwiki init # Interactive wizard
deepwiki init --non-interactive # Auto-detect defaults (CI/CD)
deepwiki init --non-interactive --force # Overwrite existing config
# Indexing & status
deepwiki update # Index repo and regenerate wiki
deepwiki update --full-rebuild # Force full rebuild
deepwiki update --dry-run # Preview what would change
deepwiki status # Show index health dashboard
deepwiki status --json # Machine-readable output
deepwiki status --verbose # Detailed file-level info
# MCP server
deepwiki mcp # Start MCP server (stdio)
# Web UI & export
deepwiki serve .deepwiki --port 8080 # Browse wiki in browser
deepwiki export .deepwiki --output ./html-export # Export to static HTML
deepwiki export-pdf .deepwiki -o docs.pdf # Export to single PDF
deepwiki export-pdf .deepwiki --separate -o dir/ # Export each page as PDF
# Configuration
deepwiki config show # Show effective configuration
deepwiki config show --raw # Show raw YAML
deepwiki config validate # Check config for errors
deepwiki config health-check # Verify provider connectivity
deepwiki config profile list # List saved config profiles
deepwiki config profile save dev # Save current config as profile
deepwiki config profile use prod # Switch to a profile
# Utilities
deepwiki search # Interactive fuzzy code search
deepwiki watch /path/to/repo # Auto-reindex on file changes
deepwiki cache stats # Show cache hit rates and sizes
deepwiki cache clear --llm --embedding # Clear caches
deepwiki cache cleanup # Remove expired entriesAPI-ключи
OpenAI (по умолчанию)
Перейдите на platform.openai.com/api-keys
Войдите (или создайте учетную запись)
Нажмите Create new secret key
Скопируйте ключ и установите его в своем окружении:
export OPENAI_API_KEY="sk-..."Чтобы сохранить его, добавьте экспорт в ваш ~/.zshrc или ~/.bashrc.
Anthropic
Перейдите на console.anthropic.com/settings/keys
Нажмите Create Key
Установите его в своем окружении:
export ANTHROPIC_API_KEY="sk-ant-..."Использование прокси-сервера, совместимого с OpenAI
Если ваша организация предоставляет API-эндпоинт, совместимый с OpenAI (например, через GitHub Copilot Enterprise или корпоративный прокси), установите base_url в вашей конфигурации:
llm:
provider: "openai"
openai:
model: "gpt-4o"
base_url: "https://your-proxy.example.com/v1"Переменная окружения OPENAI_API_KEY по-прежнему требуется для аутентификации.
Предварительные требования
Для поддержки локальных LLM:
Установленный и запущенный Ollama
Загруженная модель (например,
ollama pull llama3.2)
Для экспорта в PDF:
Системные библиотеки:
pango,cairo,gdk-pixbuf(зависимости WeasyPrint)macOS:
brew install pangoUbuntu/Debian: `
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/UrbanDiver/local-deepwiki-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server