Skip to main content
Glama
rishav0004

GitHub MCP Server (Custom)

by rishav0004

GitHub MCP Server (Custom)

Ein benutzerdefinierter Model Context Protocol (MCP)-Server, der einem KI-Agenten vollen CRUD-Zugriff auf GitHub bietet: Repositories, Issues, Pull Requests, Branches, Kommentare, Reviews und Merges. Erstellt mit dem offiziellen Python-mcp-SDK (FastMCP) und der GitHub-REST-API über httpx.

Insgesamt 23 Tools – siehe server.py für die vollständige Liste. Highlights:

Bereich

Tools

Repos

list_repos, get_repo

Issues

list_issues, get_issue, create_issue, update_issue, close_issue, add_issue_comment, list_issue_comments

Branches

list_branches, get_branch, create_branch, delete_branch

Pull Requests

list_pull_requests, get_pull_request, create_pull_request, update_pull_request, merge_pull_request, list_pr_files

Reviews

list_pr_reviews, create_pr_review

Commits

list_commits, get_commit

Einrichtung

  1. Abhängigkeiten installieren

    pip install -r requirements.txt
  2. Ein GitHub-Token erstellen

    Gehen Sie zu https://github.com/settings/tokens und erstellen Sie entweder:

    • ein klassisches PAT mit dem repo-Bereich, oder

    • ein feingranulares PAT mit Contents, Issues, Pull requests, und Metadata auf Lesen & Schreiben gesetzt, beschränkt auf die Repositories, auf die der Agent zugreifen soll.

  3. Das Token als Umgebungsvariable festlegen

    export GITHUB_TOKEN=ghp_your_token_here
  4. Standalone ausführen (optionaler Funktionstest)

    python server.py

    Es wird warten, bis ein MCP-Client über stdio eine Verbindung herstellt – das ist erwartet, es ist kein Webserver.

Related MCP server: github-mcp

Verbindung mit Claude Desktop herstellen

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu (%APPDATA%\Claude\claude_desktop_config.json unter Windows, ~/Library/Application Support/Claude/claude_desktop_config.json unter macOS):

{
  "mcpServers": {
    "github": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Starten Sie Claude Desktop neu und die GitHub-Tools werden im Tool-Picker angezeigt.

Verbindung mit Ihrer eigenen Agent-Pipeline (z. B. dem Jira → GitHub → Teams-Projekt)

Da dies ein standardmäßiger MCP-Studio-Server ist, kann jeder MCP-kompatible Client oder jedes SDK ihn als Unterprozess starten und über stdin/stdout mit ihm kommunizieren – einschließlich eines .NET-Hosts, wenn Sie das MCP-C#-SDK verwenden, oder der Python/TypeScript-SDKs, wenn Ihr Orchestrator polyglott ist. Weisen Sie den Client auf Folgendes hin:

command: python
args: ["/absolute/path/to/server.py"]
env: { "GITHUB_TOKEN": "<token>" }

Erweitern

Um ein neues Tool hinzuzufügen, fügen Sie einfach eine neue mit @mcp.tool() dekorierte Funktion zu server.py hinzu, die _request(method, path, ...) gegen die GitHub REST API aufruft. Der Docstring wird zur Beschreibung des Tools, die dem Modell angezeigt wird, und Typannotationen werden zum Eingabeschema – halten Sie also beide genau.

Hinweise

  • Alle Schreiboperationen (create_*, update_*, delete_*, merge_*) führen echte Änderungen auf GitHub durch – es gibt keinen Trockenlauf-Modus. Erwägen Sie, zuerst gegen ein Test-Repository zu testen, insbesondere merge_pull_request und delete_branch.

  • Die Ratenbegrenzungen folgen den standardmäßigen GitHub-REST-API-Limits (5.000 Anfragen/Stunde für authentifizierte Anfragen, Stand heute) – der Server führt keine eigene Drosselung durch.

  • Fehler von GitHub (fehlerhafte Authentifizierung, 404s, Merge-Konflikte usw.) werden als RuntimeError mit dem Antworttext der API ausgelöst, sodass der aufrufende Agent eine lesbare Nachricht erhält, auf die er reagieren kann.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables LLMs to interact with GitHub repositories, issues, pull requests, and workflows through the Model Context Protocol. It provides a comprehensive set of tools for repository management, issue tracking, code search, and CI/CD automation.
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to directly operate GitHub repositories, such as listing issues, through the Model Context Protocol.
    2
    140 npm
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with GitHub repositories, issues, pull requests, and content via the Model Context Protocol.
    1
    MIT