Corpus
Corpus агрегирует документацию всех репозиториев вашей организации, строит живую карту системы на основе сущностей каталога Spotify Backstage и предоставляет всё это через мощный сервер Model Context Protocol (MCP).
Дайте вашим ИИ-агентам (Claude, Copilot и др.) целостный контекст, необходимый для понимания вашей архитектуры, владельцев сервисов, документации и кода — всё в одном месте!
✨ Возможности
🗺️ Автоматически генерируемый граф сущностей: Полностью разбирает сущности Backstage
catalog-info.yaml(Components, APIs, Systems, Users) и генерирует двунаправленный граф связей с использованием общеизвестных отношений (например,ownerOf/ownedBy,providesApi/apiProvidedBy).📖 Централизованный поиск по документации: Быстрый лексический поиск по
README.md,docs/**/*.md,adr/**/*.mdи ИИ-навыкам во всей вашей организации.🔍 Глобальный поиск по коду: Поиск по ключевым словам во всех репозиториях организации через GitHub Code Search API.
💬 Контекст задач и PR: Проксирует запросы к поисковому API GitHub для поиска обсуждений, PR и задач по всей организации (
search_issues_and_prs).📄 Чтение файлов: Прямой доступ к точному содержимому файлов из любой ветки или коммита репозитория.
⚙️ Агрегация схем API: Автоматически индексирует файлы
openapiиswagger, чтобы агенты могли мгновенно получать контракты конечных точек (list_api_schemas).🚀 Запуск без настройки: Автоматически запускает недостающие сборки при старте. Если у вас есть учётные данные, просто выполните
npm start— и сервер загрузит и проиндексирует всё.🐞 Отчётность о пробелах: Опциональная возможность создания задачи GitHub, когда документация не может ответить на вопрос агента.
Related MCP server: repovine
🛠️ Быстрый старт
1. Предварительные требования
Node.js v22+
GitHub PAT (Personal Access Token):
Classic Token: Требуются права
repo(для чтения приватных репозиториев) иread:org(если вы запрашиваете данные организации).Fine-Grained Token: Требуются права
Contents: Read-onlyиMetadata: Read-onlyдля всех репозиториев. Если вы включитеENABLE_GAP_REPORTING, вам также понадобятся праваIssues: Read & Writeна целевом репозитории.
2. Настройка окружения
Создайте файл .env в корневом каталоге:
GIT_ORG=your-github-org-or-username
GIT_PAT=your-github-personal-access-token
# Optional
ENABLE_GAP_REPORTING=false
GITHUB_PROJECT=your-github-org/doc-gaps-repo3. Сборка и запуск
Локальный запуск:
npm install
npm run build
npm startПримечание: npm start автоматически запускает скрипты генерации корпуса и карты системы, если они ещё не были выполнены.
Запуск через Docker:
docker build -t corpus-mcp .
docker run -i -e GIT_ORG=your-github-org -e GIT_PAT=your-github-pat corpus-mcp🤖 Регистрация в ИИ-клиентах
Antigravity
Antigravity нативно поддерживает MCP. Настройте сервер глобально, добавив его в ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"corpus": {
"command": "node",
"args": ["/absolute/path/to/code-context-mcp/dist/src/index.js"],
"env": {
"GIT_ORG": "your-github-org",
"DOTENV_CONFIG_PATH": "/absolute/path/to/code-context-mcp/.env",
"CORPUS_DIR": "/absolute/path/to/code-context-mcp/corpus"
}
}
}
}Claude Desktop
Добавьте это в ваш claude_desktop_config.json:
{
"mcpServers": {
"corpus": {
"command": "node",
"args": ["/absolute/path/to/code-context-mcp/dist/src/index.js"],
"env": {
"GIT_ORG": "your-github-org",
"GIT_PAT": "your-github-pat",
"CORPUS_DIR": "/absolute/path/to/code-context-mcp/corpus"
}
}
}
}Claude Code
Выполните следующую команду в корне проекта:
claude mcp add corpus "node $(pwd)/dist/src/index.js"🏗️ Архитектура и команды
npm run build:corpus: Сканирует организацию GitHub и загружает документацию и данные каталога вcorpus/manifest.json.npm run build:map: Преобразует манифест в активный граф зависимостей, сохраняемый вcorpus/system-map.yaml.npm run build: Выполняет полный конвейер и компилирует TypeScript.npm run test: Запускает модульные тесты с использованием встроенного тестового раннера Node.js.
🧩 Карта системы и catalog-info.yaml
Corpus автоматически генерирует глобальный граф зависимостей сервисов вашей организации. Чтобы участвовать в карте системы, каждый репозиторий должен содержать файл catalog-info.yaml в своём корне, соответствующий формату описания Backstage.
Поскольку Corpus действует как процессор каталога Backstage, он извлекает сущности любого типа (Component, API, System, Group) и автоматически устанавливает двунаправленные связи. Если ваш Component определяет owner: group:auth-team и providesApis: [api:auth-api], Corpus автоматически генерирует рёбра ownedBy/ownerOf и providesApi/apiProvidedBy, чтобы ИИ-агенты могли нативно перемещаться по всему графу сервисов вашей организации.
Пример catalog-info.yaml:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: my-auth-service
description: Handles user authentication and token generation
spec:
type: service
lifecycle: production
owner: group:auth-team
providesApis:
- api:auth-api
dependsOn:
- component:user-database
- component:email-service💡 Рекомендации и философия
Чтобы получить максимальную отдачу от Corpus и ваших ИИ-агентов, мы рекомендуем следующие практики экосистемы:
Держите документацию рядом с кодом: Документация должна находиться в репозитории рядом с кодом. Лучшее место для описания работы системы — непосредственно рядом с самой системой. Corpus автоматически подхватывает
docs/**/*.mdиadr/**/*.mdво всех ваших репозиториях.Центральный вики-репозиторий: Если у вас есть общеорганизационные архитектурные решения, RFC или стандарты качества кода, охватывающие несколько систем, храните их в центральном «вики»-репозитории в виде markdown-файлов. Corpus отлично их агрегирует.
Синергия со Spotify Backstage: Если вы используете Backstage, Corpus — идеальный компаньон.
Backstage — это внутренний портал разработчика (IDP), созданный для людей, предоставляющий богатый веб-интерфейс.
Corpus — это IDP, созданный для ИИ-агентов, предоставляющий тот же самый контекст через MCP. Поскольку Corpus нативно разбирает стандартные файлы
catalog-info.yaml, дублирование работы исключено. Если ваши команды уже определяют тегиdependsOn,lifecycleиownerдля Backstage, Corpus автоматически подхватывает их и преобразует в активный граф, по которому могут перемещаться ИИ-агенты.
Частые автоматические обновления: Корпус задуман как живой, дышащий снимок вашей организации. Запуск скриптов сборки (
npm run build) повторно загружает и перестраивает корпус локально. Поскольку это простой скрипт, обращающийся к API, для сборки он потребляет ноль токенов LLM. В идеале Corpus должен развёртываться централизованно внутри вашей компании с использованием cron-задачи (например, GitHub Action) для пересборкиmanifest.jsonкаждую ночь и распространения его среди разработчиков.
🤝 Вклад в проект
Мы приветствуем ваш вклад! Пожалуйста, ознакомьтесь с нашими Рекомендациями по вкладу, чтобы узнать, как начать, настроить среду разработки и отправлять Pull Request.
Этот проект требует соблюдения Conventional Commits. Pre-commit хук автоматически форматирует ваш код с помощью Prettier и проверяет его с помощью ESLint.
Подробнее см. в Руководстве по навыку настройки.
📄 Лицензия
Corpus можно использовать бесплатно. Вся интеллектуальная собственность принадлежит Sayam Hussain.
Этот проект лицензирован в соответствии с лицензией MIT.
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
- AlicenseBqualityBmaintenanceMCP server wrapping Backstage — query service catalog, fetch TechDocs, and scaffold services via AI agents.7Apache 2.0
- AlicenseNot gradedqualityBmaintenanceMCP server that provides coding agents with structured repository context, including graph-based navigation, dependency analysis, runtime flow tracing, and configuration surface across supported stacks.377MIT
- AlicenseNot gradedqualityBmaintenanceA local-first MCP server that lets AI assistants search and retrieve context from indexed projects, Git state, decisions, and tasks without sending data to the cloud.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that enables coding agents to retrieve project context, semantically search indexed documentation, and read specific documents from registered repositories.MIT
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Turn a GitHub repo or docs site into agent-ready context: pack it or search it, over MCP.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
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/VampSlayer/Corpus'
If you have feedback or need assistance with the MCP directory API, please join our Discord server