Corpus
Corpus bündelt die Dokumentation aller Repositorys deiner Organisation, erstellt eine Live-Systemkarte mithilfe der Katalog-Entitäten von Spotify Backstage und stellt alles hinter einen leistungsstarken Model Context Protocol (MCP)-Server.
Gib deinen KI-Agenten (Claude, Copilot usw.) den ganzheitlichen Kontext, den sie brauchen, um deine Architektur, Service-Verantwortlichkeiten, Doku und Code zu verstehen – alles an einem Ort!
✨ Funktionen
🗺️ Automatisch generierter Entitätsgraph: Parst vollständig Entitäten aus Backstage-
catalog-info.yaml(Components, APIs, Systems, Users) und erzeugt einen bidirektionalen Beziehungsgraphen mithilfe bekannter Beziehungen (z. B.ownerOf/ownedBy,providesApi/apiProvidedBy).📖 Zentrale Dokumentsuche: Schnelle lexikalische Suche über
README.md,docs/**/*.md,adr/**/*.mdund KI-Skills in deiner gesamten Organisation.🔍 Globale Codesuche: Stichwortsuche über alle Repositorys der Organisation über die GitHub Code Search API.
💬 Issue- & PR-Kontext: Leitet an die GitHub-Such-API weiter, um Diskussionen, PRs und Issues in der gesamten Organisation zu finden (
search_issues_and_prs).📄 Dateilesen: Direkter Zugriff auf exakte Dateiinhalte aus jedem Repository-Zweig oder Commit.
⚙️ API-Schema-Aggregation: Indiziert automatisch
openapi- undswagger-Dateien, sodass Agenten Endpunktverträge sofort abrufen können (list_api_schemas).🚀 Start ohne Konfiguration: Führt fehlende Builds beim Start automatisch aus. Wenn du Anmeldedaten hast, starte einfach
npm startund der Server ruft alles ab und indiziert es.🐞 Lückenmeldung: Optionale Möglichkeit, ein GitHub-Issue anzulegen, wenn die Doku die Frage eines Agenten nicht beantworten kann.
Related MCP server: repovine
🛠️ Schnellstart
1. Voraussetzungen
Node.js v22+
GitHub PAT (Persönliches Zugriffstoken):
Classic Token: Benötigt
repo(zum Lesen privater Repositorys) undread:org(beim Abfragen einer Organisation).Fine-Grained Token: Benötigt
Contents: Read-onlyundMetadata: Read-onlyfür alle Repositorys. Wenn duENABLE_GAP_REPORTINGaktivierst, benötigst du außerdemIssues: Read & Writeauf dem Ziel-Repository.
2. Umgebung konfigurieren
Erstelle eine .env-Datei im Stammverzeichnis:
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. Erstellen & Ausführen
Lokale Ausführung:
npm install
npm run build
npm startHinweis: npm start startet automatisch die Skripte zur Corpus- und Systemkarten-Generierung, falls sie noch nicht ausgeführt wurden.
Docker-Ausführung:
docker build -t corpus-mcp .
docker run -i -e GIT_ORG=your-github-org -e GIT_PAT=your-github-pat corpus-mcp🤖 Registrierung bei KI-Clients
Antigravity
Antigravity unterstützt MCP nativ. Konfiguriere den Server global, indem du ihn zu ~/.gemini/config/mcp_config.json hinzufügst:
{
"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
Füge dies zu deiner claude_desktop_config.json hinzu:
{
"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
Führe Folgendes im Projektstamm aus:
claude mcp add corpus "node $(pwd)/dist/src/index.js"🏗️ Architektur & Befehle
npm run build:corpus: Durchsucht die GitHub-Organisation und lädt Doku + Katalogdaten incorpus/manifest.jsonherunter.npm run build:map: Wandelt das Manifest in einen aktiven Abhängigkeitsgraphen um, der incorpus/system-map.yamlgespeichert wird.npm run build: Führt die vollständige Pipeline aus und kompiliert TypeScript.npm run test: Führt Unit-Tests mit dem nativen Node.js-Testrunner aus.
🧩 Systemkarte & catalog-info.yaml
Corpus erzeugt automatisch einen globalen Abhängigkeitsgraphen der Dienste deiner Organisation. Um an der Systemkarte teilzunehmen, sollte jedes Repository eine catalog-info.yaml-Datei im Stammverzeichnis enthalten, die dem Backstage-Deskriptorformat entspricht.
Da Corpus wie ein Backstage-Katalogprozessor fungiert, extrahiert es jeden Entitätstyp (Component, API, System, Group) und verdrahtet automatisch bidirektionale Beziehungen. Wenn deine Component owner: group:auth-team und providesApis: [api:auth-api] definiert, erzeugt Corpus automatisch die Kanten ownedBy/ownerOf und providesApi/apiProvidedBy, sodass KI-Agenten den gesamten Servicegraphen deiner Organisation nativ durchlaufen können.
Beispiel 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💡 Bewährte Praktiken & Philosophie
Um das absolute Maximum aus Corpus und deinen KI-Agenten herauszuholen, empfehlen wir die folgenden Praktiken im Ökosystem:
Halte die Doku nah am Code: Die Dokumentation sollte im Repository direkt neben dem Code liegen. Der beste Ort, um zu dokumentieren, wie ein System funktioniert, ist direkt neben dem System selbst. Corpus erfasst automatisch
docs/**/*.mdundadr/**/*.mdin allen deinen Repositorys.Zentrales Wiki-Repository: Wenn du unternehmensweite Architekturentscheidungen, RFCs oder Codequalitätsstandards hast, die mehrere Systeme betreffen, bewahre sie in einem zentralen „Wiki“-Repository als Markdown-Dateien auf. Corpus wird sie perfekt aggregieren.
Synergie mit Spotify Backstage: Wenn du Backstage verwendest, ist Corpus der perfekte Begleiter.
Backstage ist ein internes Entwicklerportal (IDP), das für Menschen gebaut wurde und eine umfangreiche Weboberfläche bietet.
Corpus ist ein IDP, das für KI-Agenten gebaut wurde und denselben Kontext über MCP bereitstellt. Da Corpus standardmäßige
catalog-info.yaml-Dateien nativ parst, gibt es keine doppelte Arbeit. Wenn deine Teams bereitsdependsOn-,lifecycle- undowner-Tags für Backstage definieren, sammelt Corpus sie automatisch ein und übersetzt sie in einen aktiven Graphen, den KI-Agenten durchlaufen können.
Häufige automatisierte Aktualisierungen: Das Corpus soll eine lebendige, atmende Momentaufnahme deiner Organisation sein. Durch Ausführen der Build-Skripte (
npm run build) wird das Corpus lokal neu abgerufen und neu erstellt. Da es sich um ein einfaches API-Scraping-Skript handelt, verbraucht es null LLM-Tokens zum Erstellen. Idealerweise sollte Corpus zentral in deinem Unternehmen bereitgestellt werden, wobei ein Cron-Job (wie eine GitHub Action) dasmanifest.jsonjede Nacht neu erstellt und es an deine Entwickler verteilt.
🤝 Mitwirken
Wir freuen uns über Beiträge! Weitere Informationen zum Einstieg, zur Einrichtung deiner Entwicklungsumgebung und zum Einreichen von Pull Requests findest du in unseren Beitragsrichtlinien.
Dieses Projekt setzt Conventional Commits durch. Ein Pre-Commit-Hook formatiert deinen Code automatisch mit Prettier und prüft ihn mit ESLint.
Weitere Details findest du im Setup-Skill-Guide.
📄 Lizenz
Corpus ist kostenlos nutzbar. Das gesamte geistige Eigentum liegt bei Sayam Hussain.
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
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