Skip to main content
Glama
UrbanDiver

Local DeepWiki MCP Server

by UrbanDiver

Локальный 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_KEY

  • Anthropic — установите переменную окружения ANTHROPIC_API_KEY

  • Ollama (полностью локально, требуется 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
}

Инструмент

Описание

index_repository

Индексация репозитория и генерация документации вики

ask_question

RAG-вопросы и ответы о кодовой базе

deep_research

Многошаговое рассуждение с декомпозицией и синтезом запросов

read_wiki_structure

Получить оглавление вики

read_wiki_page

Прочитать конкретную страницу вики

search_code

Семантический поиск по кодовой базе

export_wiki_html

Экспорт вики в статический HTML-сайт

export_wiki_pdf

Экспорт вики в PDF с рендерингом диаграмм Mermaid

Инструменты генерации (12)

Инструмент

Описание

get_diagrams

Генерация диаграмм Mermaid (классы, зависимости, модули, последовательности)

get_call_graph

Анализ графа вызовов функций

get_glossary

Глоссарий сущностей кода с возможностью поиска

get_inheritance

Дерево иерархии классов

get_coverage

Анализ покрытия документацией

get_changelog

Генерация списка изменений на основе Git

get_api_docs

Извлечение параметров и типов возвращаемых значений

get_test_examples

Извлечение примеров тестов для сущностей

detect_stale_docs

Обнаружение устаревших страниц вики

detect_secrets

Сканирование на наличие жестко закодированных учетных данных

get_index_status

Статус индексации репозитория и его состояние

list_indexed_repos

Список всех проиндексированных репозиториев

Инструменты анализа и поиска (10)

Инструмент

Описание

search_wiki

Полнотекстовый поиск по страницам вики и сущностям кода

fuzzy_search

Нечеткий поиск имен (Levenshtein) ("Возможно, вы имели в виду?")

get_file_context

Импорты, вызывающие стороны и связанные файлы для исходного файла

explain_entity

Композитный: глоссарий + граф вызовов + наследование + тесты + API-документация

impact_analysis

Анализ радиуса поражения с обратным графом вызовов и уровнем риска

get_complexity_metrics

Цикломатическая сложность и глубина вложенности через AST tree-sitter

analyze_diff

Сопоставление git diff с затронутыми страницами вики и сущностями

ask_about_diff

RAG-вопросы и ответы об изменениях в коде

get_project_manifest

Разобранные метаданные из pyproject.toml, package.json и т.д.

get_wiki_stats

Панель состояния вики: индекс, страницы, покрытие, статус

Инструменты здоровья архитектуры (17)

Инструмент

Описание

get_architecture_health

Композитная оценка здоровья (A-F) по 9 измерениям

get_hotspots

Ранжирование функций по сложности, когнитивной сложности, параметрам, длине или вложенности

get_coupling_metrics

Метрики связности Роберта К. Мартина (Ca, Ce, I, A, D)

get_design_smells

Обнаружение "божественных" классов, завистливых функций, длинных методов и т.д.

get_layer_dependencies

Обнаружение нарушений уровней (обработчики→сервисы→ядро)

get_churn_metrics

Частота изменений файлов с композитным показателем текучесть×сложность

get_co_change

Связность совместных изменений через коэффициент Жаккара

get_cohesion_metrics

Сцепление классов LCOM4 и сцепление импортов модулей

get_duplication_metrics

Обнаружение клонов типа 1 (точные) и типа 2 (структурные)

get_testability_metrics

Соотношение тестов к коду, отображение покрытия, плотность утверждений

get_maintainability_metrics

Индекс сопровождаемости на функцию (Halstead + CC + LOC)

get_recommendations

Приоритизированные предложения по рефакторингу с оценкой усилий/влияния

compare_architecture

Сравнение здоровья между двумя git-рефами

get_architecture_trends

Исторические снимки оценки здоровья

get_module_health

Сложность, "запахи", связность и риск на уровне модуля

get_onboarding_guide

Руководство по адаптации новых разработчиков

get_guided_tour

Интерактивные экскурсии по кодовой базе

Инструменты карты кода (2)

Инструмент

Описание

generate_codemap

Карты потока выполнения между файлами с диаграммами Mermaid и повествованием LLM

suggest_codemap_topics

Поиск интересных точек входа из узлов графа вызовов

Инструменты исследования и прогресса (4)

Инструмент

Описание

list_research_checkpoints

Список сохраненных контрольных точек глубокого исследования

resume_research

Возобновление ранее сохраненного сеанса исследования

cancel_research

Отмена выполняемой операции исследования

get_operation_progress

Проверка прогресса длительных операций

Агентские инструменты (5)

Инструмент

Описание

suggest_next_actions

Контекстно-зависимые предложения по следующим инструментам на основе недавних действий

run_workflow

Запуск предопределенных многошаговых рабочих процессов (например, полный анализ, быстрый обзор)

batch_explain_entities

Пакетная версия explain_entity для нескольких сущностей сразу

query_codebase

Агентский RAG: оценивает релевантность фрагментов, переписывает запросы для лучших результатов

find_tools

Поиск релевантных инструментов на основе запроса на естественном языке

Инструменты веб-сервера (2)

Инструмент

Описание

serve_wiki

Запуск веб-сервера вики для просмотра документации

stop_wiki_server

Остановка запущенного веб-сервера вики

Команды CLI

Все команды являются подкомандами унифицированного CLI deepwiki. Устаревшие точки входа (deepwiki-serve, deepwiki-export и т.д.) по-прежнему работают для обратной совместимости.

Команда

Описание

deepwiki init

Интерактивный мастер настройки конфигурации

deepwiki status

Показать здоровье индекса, свежесть и покрытие вики

deepwiki update

Индексация репозитория и перегенерация вики (инкрементально)

deepwiki mcp

Запуск MCP-сервера (для интеграции с IDE)

deepwiki serve

Обслуживание вики с веб-интерфейсом

deepwiki watch

Режим наблюдения - автоматическая переиндексация при изменениях файлов

deepwiki export

Экспорт вики в статический HTML

deepwiki export-pdf

Экспорт вики в PDF

deepwiki config

Управление конфигурацией (проверка, отображение, проверка здоровья, профиль)

deepwiki search

Интерактивный нечеткий поиск по коду

deepwiki cache

Управление кэшем (статистика, очистка)

# 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 entries

API-ключи

OpenAI (по умолчанию)

  1. Перейдите на platform.openai.com/api-keys

  2. Войдите (или создайте учетную запись)

  3. Нажмите Create new secret key

  4. Скопируйте ключ и установите его в своем окружении:

export OPENAI_API_KEY="sk-..."

Чтобы сохранить его, добавьте экспорт в ваш ~/.zshrc или ~/.bashrc.

Anthropic

  1. Перейдите на console.anthropic.com/settings/keys

  2. Нажмите Create Key

  3. Установите его в своем окружении:

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 pango

    • Ubuntu/Debian: `

-
security - not tested
A
license - permissive license
-
quality - not tested

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