Skip to main content
Glama
yashwant-kumar08

GitHub Dev Copilot

GitHub Dev Copilot - MCP Server

Ein produktionsreifer Model Context Protocol (MCP)-Server, der als GitHub Copilot für KI-Agenten fungiert. Er stellt Tools zur Interaktion mit der GitHub-API bereit, mit denen Agenten Repositorys, Issues, PRs verwalten und die Repository-Gesundheit analysieren können.

Architektur

+----------------+      +-----------------------+      +-------------+
|    AI Agent    | ---> |  GitHub MCP Server    | <--> |  GitHub API |
| (Client)       | STDI |  (Python / FastMCP)   | HTTP |             |
+----------------+      +-----------------------+      +-------------+
                                   |
                        +-----------------------+
                        |        Tools          |
                        | - list_repositories   |
                        | - read_issues         |
                        | - create_issue        |
                        | - comment_on_pr       |
                        | - analyze_repo_health |
                        +-----------------------+

Related MCP server: github-mcp-server

Funktionen

  • Authentifizierung: Verbindet sich sicher über ein GitHub Personal Access Token (PAT).

  • Tooling: Stellt robuste, streng typisierte MCP-Tools bereit.

  • Sicherheit:

    • Validiert Eingaben mit Pydantic.

    • Begrenzt API-Aufrufe (Rate Limiting), um Blockierungen zu verhindern.

    • Gibt niemals Token preis.

  • Analyse: Intelligentes analyze_repo_health-Tool zur Bewertung von Repositorys.

Einrichtung

  1. Repository klonen (falls zutreffend) oder in das Projektverzeichnis wechseln.

  2. Abhängigkeiten installieren:

    pip install -r requirements.txt
  3. Umgebung konfigurieren: Kopieren Sie .env.example in .env und fügen Sie Ihr GitHub-PAT hinzu.

    cp .env.example .env
    # Edit .env and set GITHUB_TOKEN
  4. Server ausführen: Sie können ihn direkt mit Python oder über einen MCP-Client-Inspektor ausführen.

    python main.py

Verwendung mit Claude Desktop oder MCP-Clients

Fügen Sie die Serverkonfiguration zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "github-copilot": {
      "command": "python",
      "args": ["/path/to/mcp_github_dev_copilot/main.py"]
    }
  }
}

Verfügbare Tools

1. list_repositories

Listet Repositorys auf, die für den authentifizierten Benutzer zugänglich sind.

  • Rückgabe: Name, Besitzer, privat/öffentlich-Status, Sterne, Sprache.

2. read_issues

Ruft Issues aus einem Repository ab.

  • Eingabe: repo_owner, repo_name, state ("open", "closed", "all")

  • Ausgabe: Liste der Issues mit ID, Titel, Labels.

3. create_issue

Erstellt ein neues Issue.

  • Eingabe: repo_owner, repo_name, title, body (Markdown), labels

  • Ausgabe: Issue-URL und -Nummer.

4. comment_on_pr

Fügt einem Pull Request einen Kommentar hinzu.

  • Eingabe: repo_owner, repo_name, pr_number, comment_text

  • Ausgabe: Kommentar-URL.

5. analyze_repo_health

Führt eine Gesundheitsprüfung für ein Repository durch.

  • Prüfungen: Anzahl offener Issues, veraltete Issues (>30 Tage), aktuelle Commit-Aktivität, Vorhandensein von Tests, CI-Konfiguration.

  • Ausgabe: Gesundheits-Score (0-100) und Verbesserungsvorschläge.

Sicherheit & Einschränkungen

  • Ratenbegrenzung: Der Server implementiert einen Dekorator, um GitHub-Ratenbegrenzungen durch Warten oder erneutes Versuchen zu behandeln.

  • Bereiche (Scopes): Stellen Sie sicher, dass Ihr PAT die Bereiche repo, read:org und workflow besitzt.

  • Kein Browser: Dieser Server verwendet die offizielle GitHub-API, kein Web-Scraping.

  • Protokolle: Aktivitäten werden in stderr protokolliert, um die MCP-Stdio-Kommunikation nicht zu beeinträchtigen.

Zukünftige Verbesserungen

  • Tools update_issue und merge_pr hinzufügen.

  • Lesen/Durchsuchen von Dateiinhalten implementieren.

  • Unterstützung für die GitHub-App-Authentifizierung hinzufügen.

Related MCP Connectors

Related MCP Servers