gigadoc-mcp
v0.4.3
Published
MCP server for Gigadoc-style Python documentation in Gigacode/Gemini/Qwen CLI.
Maintainers
Readme
Gigadoc MCP (Gigacode/Gemini + Qwen)
MCP server для Gigacode/Gemini/Qwen CLI, который автоматизирует анализ Python-кода и контроль качества документации.
Поддерживает как отдельные .py файлы, так и директории проекта.
Публичные ссылки
- Репозиторий MCP server: https://github.com/travinov/gigadoc-mcp
- Репозиторий extension: https://github.com/travinov/gigadoc-extension
- Форк с документированным модулем: https://github.com/travinov/claw-code
- Релизы MCP: https://github.com/travinov/gigadoc-mcp/releases
- npm-пакет: https://www.npmjs.com/package/gigadoc-mcp
Зачем это нужно
Сервер решает две основные проблемы:
- Полнота: вытягивает реальные классы, методы и параметры из Python AST.
- Контроль стандарта: проверяет, что Markdown соблюдает обязательную структуру и стиль.
Итог: документация становится воспроизводимой и пригодной для командного использования.
Для кого полезно
- Команды платформенной разработки и SDK.
- Технические писатели и DevRel.
- Инженеры, поддерживающие внутренние runbook/API docs.
Инструменты MCP
analyze_python_moduleВход:{"path":".../module.py"}Выход: структурированный JSON с сущностями модуля.analyze_python_targetВход:
{"path":".../module.py"}{"path":".../project_dir","max_modules":200}{"path":".../project_dir","max_modules":40,"include_modules":false}(context-safe режим) Выход:kind=moduleс анализом одного файла;kind=projectс обзором проекта, списком модулей и агрегированными метриками.
build_sber_doc_outlineВход:{"module_name":"query_engine","analysis":{...}}Выход: строгий каркас документа с обязательными разделами.build_sber_project_outlineВход:{"project_name":"my_project","analysis":{...}}Выход: каркас проектной документации для директории.validate_sber_docВход:{"markdown":"# ..."}Выход:ok+ список нарушений/предупреждений.
Архитектура
- Node.js сервер на
@modelcontextprotocol/sdk(stdio transport). - Анализ Python выполняется через
python3+ стандартныйast. - Контракт tool-ответов JSON-friendly и удобен для интеграции с командами Qwen.
Установка
Требования:
- Node.js 22+
- Python 3.x в
PATH
git clone https://github.com/travinov/gigadoc-mcp.git gigadoc-mcp
cd gigadoc-mcp
npm install
npm run build
npm testПроверка запуска:
node dist/src/index.jsПосле публикации в npm можно использовать пакет без клонирования:
npx --yes gigadoc-mcpПодключение к CLI (Gigacode/Gemini/Qwen)
В конфиге клиента (~/.gigacode/settings.json, ~/.qwen/settings.json или аналог):
{
"mcpServers": {
"gigadoc-mcp": {
"command": "npx",
"args": ["--yes", "gigadoc-mcp"],
"timeout": 60000
}
}
}Ветвление по окружению
Вариант A: стандартная сеть (рекомендуется)
Используйте конфиг выше с npx.
Вариант B: корпоративные сертификаты и SSL inspection
Если npm возвращает SELF_SIGNED_CERT_IN_CHAIN, добавьте:
{
"mcpServers": {
"gigadoc-mcp": {
"command": "npx",
"args": ["--yes", "gigadoc-mcp"],
"env": {
"NPM_CONFIG_STRICT_SSL": "false"
},
"timeout": 60000
}
}
}Примечание: это временный workaround. Для постоянного варианта настройте корпоративный CA: npm config set cafile /path/to/corp-ca.pem.
Вариант C: альтернативное окружение (неподхватываемый PATH)
Если CLI не находит node/npx, укажите абсолютные пути:
{
"mcpServers": {
"gigadoc-mcp": {
"command": "/absolute/path/to/node",
"args": [
"/absolute/path/to/npm/bin/npx-cli.js",
"--yes",
"gigadoc-mcp"
],
"env": {
"PATH": "/absolute/path/to/node/bin:/usr/bin:/bin:/usr/sbin:/sbin"
},
"timeout": 60000
}
}
}Вариант D: локальный запуск без npm registry
git clone https://github.com/travinov/gigadoc-mcp.git gigadoc-mcp
cd gigadoc-mcp
npm install
npm run build{
"mcpServers": {
"gigadoc-mcp": {
"command": "node",
"args": ["/absolute/path/to/gigadoc-mcp/dist/src/index.js"],
"timeout": 60000
}
}
}Проверка доступности MCP
- Проверка пакета в npm:
npm view gigadoc-mcp version- Проверка, что сервер стартует:
npx --yes gigadoc-mcpСервер должен запуститься и ждать клиента по stdio.
Управление контекстом (рекомендуется для больших репозиториев)
Если модель получает API Error: terminated или ответы становятся слишком длинными:
- Используйте
analyze_python_targetсmax_modules=40. - Для обзорного шага указывайте
include_modules=false, чтобы не передавать детальный AST всех модулей. - Сначала генерируйте обзор проекта, затем отдельными шагами документируйте выбранные модули.
Companion extension
gigadoc-extensionсодержит launcher и готовую команду/doc:sber.
Примеры типовых задач
- Аудит покрытия документации после релизных изменений API.
- Быстрое построение шаблона docs для нового Python-модуля.
- Валидация PR с документацией перед merge.
- Унификация оформления техдоков в нескольких репозиториях.
Практические сценарии
- Перед написанием docs:
analyze_python_target-> получить факты по модулю или проекту.
- Перед генерацией Markdown:
build_sber_doc_outlineилиbuild_sber_project_outline-> получить разделы и чек-лист.
- Перед публикацией:
validate_sber_doc-> обнаружить пропуски структуры/примеров.
