github-mcp-server
GitHub MCP Server
MCP-Server in Node.js und TypeScript, der es einem kompatiblen Agenten ermöglicht, Operationen auf GitHub über natürliche Sprache auszuführen.
Architektur
Usuario -> Antigravity (Host) -> MCP Client -> MCP Server -> Octokit -> GitHub APIEin Chatbot führt hauptsächlich ein Gespräch. Ein KI-Assistent hilft mithilfe zusätzlicher Fähigkeiten. Ein KI-Agent interpretiert ein Ziel, entscheidet, welche Aktionen er benötigt, und nutzt Tools, um es zu erreichen.
MCP (Model Context Protocol) standardisiert die Kommunikation zwischen einem KI-Host, einem MCP-Client und Servern, die Tools oder Datenquellen bereitstellen. In diesem Projekt ist der Transport stdio: Die Protokollnachrichten verwenden stdin/stdout und die Logs verwenden stderr.
Related MCP server: GitHub MCP Server
Technologien
Node.js 18 oder höher
TypeScript mit
strict: true@modelcontextprotocol/sdk@octokit/restzoddotenvVitest
Installation
npm install
npm run buildKonfiguration
Kopiere .env.example als .env und fülle das Token lokal aus:
GITHUB_TOKEN=tu_token_de_github.env ist durch .gitignore ausgeschlossen und darf niemals committet werden.
Das Token sollte nur die erforderlichen Berechtigungen besitzen. Für private Repositories müssen feingranulare Tokens je nach Operation den Zugriff auf das Repository und Contents/Issues erlauben. Ein klassisches PAT kann repo erfordern. Die Berechtigung user ist nur für zusätzliche Benutzeroperationen erforderlich und admin:org ist für die fünf aktuellen Tools nicht notwendig, es sei denn, die Organisation erzwingt dieses Szenario. Es werden keine Tokens in Beispielen, Tests, Logs oder MCP-Antworten aufgenommen.
Skripte
npm run dev # Ejecuta TypeScript directamente
npm run build # Compila a dist/
npm start # Ejecuta el JavaScript compilado
npm test # Ejecuta los tests unitariosMCP-Tools
create_repository
Erstellt ein neues Repository im authentifizierten Konto.
Eingaben: name, description.
Gibt den vollständigen Namen und die URL des Repositories zurück.
create_issue
Erstellt ein Issue in einem vorhandenen Repository.
Eingaben: owner, repo, title, body.
Gibt Nummer, Titel und URL des Issues zurück.
list_repositories
Listet die Repositories des authentifizierten Benutzers auf.
Optionale Eingaben: page, per_page.
Gibt eine zusammengefasste Liste mit vollständigem Namen und URL zurück.
create_commit
Erstellt oder aktualisiert eine Datei und erzeugt den Commit über die Contents API.
Eingaben: owner, repo, path, message, content; branch ist optional.
Das Tool fragt zuerst die Datei ab. Wenn sie existiert, verwendet es ihren SHA; wenn GitHub mit 404 antwortet, erstellt es die Datei ohne SHA.
list_issues
Listet die offenen Issues eines Repositories auf und schließt Pull Requests aus.
Eingaben: owner, repo; page und per_page sind optional.
Fehlerbehandlung
Fehler werden als ValidationError, AuthenticationError, GitHubAPIError oder NetworkError klassifiziert. MCP-Antworten enthalten umsetzbare Meldungen und leiten keine technischen Meldungen weiter, die Anmeldeinformationen offenlegen könnten.
Operationen werden nur bei Rate-Limiting, 5xx-Fehlern oder behebbaren Netzwerkfehlern bis zu dreimal wiederholt. Validierungs-, Authentifizierungs- und Fehler bei nicht vorhandenen Ressourcen werden nicht wiederholt.
Tests
Die Tests rufen kein echtes GitHub auf. Sie verwenden simulierte Octokit-Clients und decken ab:
Gültige und ungültige Schemas für Repositories und Issues.
Erstellung von Repositories und Issues.
Auflistung von Repositories und offenen Issues.
Erstellung neuer Dateien.
Aktualisierung vorhandener Dateien mithilfe des SHA.
Fehlertransformation.
Retry mit Backoff.
Führe npm test aus, um die gesamte Suite auszuführen.
MCP Inspector
Kompiliere das Projekt und führe den Server über den Inspector aus:
npm run build
npx @modelcontextprotocol/inspector node dist/index.jsKonfiguriere GITHUB_TOKEN in der Umgebung, bevor du den Inspector startest. Überprüfe, ob die fünf Tools, ihre Beschreibungen und Schemas erscheinen. Für einen echten Test verwende ein Test-Repository und vermeide destruktive Operationen.
Antigravity und VS Code
Die Datei .vscode/mcp.json enthält eine stdio-Konfiguration ohne versionierte Anmeldeinformationen. Verwende npm run build, bevor du den Server vom Host aus startest. Die Konfiguration führt dist/index.js aus und bezieht GITHUB_TOKEN aus der lokalen Umgebung.
Für einen anderen MCP-kompatiblen Host registriere den entsprechenden Befehl:
{
"type": "stdio",
"command": "node",
"args": ["dist/index.js"],
"env": { "GITHUB_TOKEN": "${env:GITHUB_TOKEN}" }
}Stelle sicher, dass der Host create_repository, create_issue, list_repositories, create_commit und list_issues erkennt.
Struktur
src/
errors/ Errores clasificados y sanitizacion
github/ Cliente Octokit y operaciones GitHub
schemas/ Schemas Zod y tipos inferidos
tools/ Handlers MCP individuales
utils/ Retry, logging, respuestas y ensamblado del servidor
index.ts Entrada y transporte stdio
tests/ Tests unitarios con mocksSicherheit
Keine Tokens hartcodieren.
.envnicht committen.Keine Tokens oder Autorisierungs-Header ausgeben.
Logs in
stderrhalten, um das Protokoll nicht zu verunreinigen.Das Prinzip der geringsten Rechte auf das PAT anwenden.
Änderungen überprüfen, bevor Tools ausgeführt werden, die in GitHub schreiben.
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
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables Git repository operations and GitHub PR workflows, allowing users to manage repositories, create branches, commit changes, and create pull requests through natural language.2
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to directly manage GitHub repositories, including PRs, issues, and code search, using natural language.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables GitHub API operations such as managing repositories, issues, and pull requests through natural language.441ISC
- FlicenseNot gradedqualityBmaintenanceMCP server that enables AI agents to perform GitHub operations like creating repositories, issues, and commits through natural language.
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
A MCP server built for developers enabling Git based project management with project and personal…
GibsonAI MCP server: manage your databases with natural language
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/tongax12/MCP_Server_GastonStratta'
If you have feedback or need assistance with the MCP directory API, please join our Discord server