Skip to main content
Glama

GithubMCP

Ein produktionsreifer MCP-Server für persönliche Entwicklungsassistenten

License: MIT Python: 3.11+ Managed by: uv MCP Compatible Code style: ruff Type checked with: mypy

Verbinden Sie KI-Modelle (Claude, Cursor usw.) nahtlos mit Ihren GitHub-Workflows, CI/CD-Pipelines, Ihrem lokalen Workspace-Kontext und Ihren Code-Analyse-Tools.


Überblick

GithubMCP ist ein Model Context Protocol (MCP)-Server, der für Entwickler konzipiert wurde. Er verbindet KI-Assistenten direkt mit Ihrer Entwicklungsumgebung und befähigt sie dazu:

  • GitHub-Repositories, Pull-Requests, Issues, Commits und Code in öffentlichen und privaten Repositories zu durchsuchen.

  • Die Sichtbarkeit von Repositories (public/private) direkt über die Konversation zu verwalten.

  • CI/CD-Workflow-Läufe zu überwachen und fehlgeschlagene GitHub-Actions-Build-Schritte zu analysieren.

  • Lokale Dateisystem-Workspaces sicher innerhalb der vom Benutzer erlaubten Pfade zu durchsuchen.

  • Codequalität zu analysieren, Komplexitätsmetriken zu berechnen, TODOs zu finden und potenzielle Sicherheitsprobleme (hartkodierte Secrets) zu erkennen.

Unterstützt sowohl den STDIO-Transport (Claude Desktop, Cursor) als auch den SSE-Transport (Server-Sent Events für Web-Clients).


Related MCP server: GitHub MCP Server

Referenz der Tool-Suite

GithubMCP stellt 13 spezialisierte Tools bereit:

Kategorie

Tool

Beschreibung

GitHub

search_repos

Durchsucht öffentliche und private Benutzer-/Organisations-Repositories mit Sprach- und Sortierfiltern.

GitHub

inspect_pr

Ruft PR-Details, geänderte Dateien, Hinzufügungs-/Löschstatistiken und Review-Kommentare ab.

GitHub

inspect_issue

Untersucht Issue-Status, Verantwortliche, verknüpfte PRs, Labels und letzte Kommentare.

GitHub

search_code

Durchsucht Code-Muster in Repositories mit Erweiterungsfiltern.

GitHub

recent_commits

Ruft den Verlauf der letzten Commits mit Diff-Statistiken und Autoren ab.

GitHub

update_repo_visibility

Ändert die Sichtbarkeit von Repositories zwischen private und public.

CI/CD

check_ci_status

Überwacht den GitHub-Actions-Status (Erfolg/Fehlschlag/In Arbeit) und Logs fehlgeschlagener Schritte.

Dateisystem

read_file

Liest lokale Dateinhalte sicher mit MIME-Typ-Erkennung und Größenvalidierung.

Dateisystem

list_directory

Listet die Verzeichnisbaumstruktur mit Dateigrößen, mtime und berechtigten Dateifiltern auf.

Dateisystem

search_local_files

Durchsucht Dateien asynchron per grep nach Regex-/Mustern und zeigt umgebende Zeilenkontext.

Dateisystem

get_project_context

Erkennt den Technologie-Stack (Node, Python, Rust, Go, Docker) und Entwicklungsbefehle.

Analyse

generate_change_summary

Vergleicht Git-Referenzen und kategorisiert Commits in Features, Fixes, Breaking Changes usw.

Analyse

analyze_code_quality

Berechnet Codezeilen, Komplexitätsschätzung, TODO-Kommentare und Sicherheitsprobleme (Secrets).


Schnellstart

1. Voraussetzungen

  • Python 3.11+

  • uv (schneller Python-Paketmanager)

Installieren Sie uv, falls noch nicht geschehen:

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

2. Klonen und Einrichtung

git clone https://github.com/Dhananjayrbiraris/github-mcp.git
cd github-mcp

# Install dependencies and sync virtual environment
uv sync

3. Umgebungskonfiguration

Kopieren Sie die Vorlage .env.example nach .env:

cp .env.example .env

Bearbeiten Sie .env und fügen Sie Ihren GitHub-Personal-Access-Token ein:

# GitHub Personal Access Token (Classic PAT with 'repo', 'workflow', 'read:user' scopes)
GITHUB_TOKEN=ghp_your_github_token_here

# Default GitHub Username (Optional)
GITHUB_USERNAME=your_username

# Sandboxed directories allowed for local filesystem operations
ALLOWED_PATHS=["~/projects", "~/workspace", "."]

# Max file size limit in MB for reading files
MAX_FILE_SIZE_MB=10

# Default Transport mode: "stdio" or "sse"
TRANSPORT=stdio

So generieren Sie Ihren GitHub-Token: Gehen Sie zu GitHub Einstellungen -> Entwicklereinstellungen -> Personal Access Tokens (klassisch) und erzeugen Sie einen Token mit den Berechtigungen repo, workflow und read:user.


Einrichtungsanleitungen für Clients

A. Claude Desktop

1. Öffnen Sie die Konfigurationsdatei von Claude Desktop:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Fügen Sie den Server github-mcp hinzu:

{
  "mcpServers": {
    "github-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/github-mcp",
        "run",
        "python",
        "-m",
        "github_mcp.main",
        "--transport",
        "stdio"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_access_token_here"
      }
    }
  }
}

(Verwenden Sie unter Windows Backslashes, z. B. C:\\Users\\yourname\\path\\to\\github-mcp, oder setzen Sie Vorwärtsstriche ein.)

3. Starten Sie Claude Desktop neu

Öffnen Sie Claude Desktop – klicken Sie unten rechts im Eingabefeld auf das Werkzeuge-Symbol, um alle verbundenen GithubMCP-Tools anzuzeigen.


B. Cursor-App (Cursor IDE)

Unter Cursor:

  1. Navigieren Sie zu Cursor Settings -> Features -> MCP.

  2. Klicken Sie auf + New MCP Server.

  3. Füllen Sie folgende Felder aus:

    • Name: github-mcp

    • Typ: command

    • Befehl: uv --directory /path/to/github-mcp run python -m github_mcp.main --transport stdio


C. Server-Sent-Events (SSE)-Modus / Web-Clients

Um den MCP-Server über HTTP / Server-Sent Events auszuführen:

uv run python -m github_mcp.main --transport sse --host 0.0.0.0 --port 8000

Der SSE-Endpunkt ist verfügbar unter: http://localhost:8000/sse.


Sicherheit & Sandbox

  1. Pfad-Sandbox: Die lokalen Dateisystem-Tools (read_file, list_directory, search_local_files, get_project_context) erzwingen strikt die Pfadüberprüfung gegen ALLOWED_PATHS. Zugriffe auf Pfade außerhalb der Whitelist lösen eine SecurityError aus.

  2. Verwaltung vertraulicher Daten: Token und Zugangsdaten werden niemals protokolliert oder preisgegeben.

  3. Robustheit bei Ratenlimits: Automatische exponentielle Backoff-Versuche bei Abmilderung durch GitHub-API-Ratenlimits.


Entwicklung & Tests

Führen Sie die komplette Test- und Qualitätssüderheits-Suite aus:

# Run pytest unit tests
uv run pytest

# Run linter
uv run ruff check .

# Check code formatting
uv run ruff format --check .

# Run strict type checking
uv run mypy src/

Repository-Struktur

github-mcp/
├── .github/workflows/ci.yml # GitHub Actions CI workflow
├── src/github_mcp/
│   ├── __init__.py
│   ├── main.py              # Server entrypoint & MCP tool registrations
│   ├── config.py            # Pydantic Settings model
│   ├── github_tools.py      # GitHub API integrations & visibility controls
│   ├── file_tools.py        # Sandboxed local filesystem operations
│   ├── ci_tools.py          # GitHub Actions CI/CD monitoring
│   ├── analysis_tools.py    # Diff categorization & code quality analyzer
│   └── utils.py             # Path safety, error handling, rate limiting
├── tests/
│   ├── conftest.py          # Pytest fixtures and mocks
│   ├── test_github.py       # GitHub tools unit tests
│   ├── test_files.py        # Filesystem tools unit tests
│   └── test_ci.py           # CI status tools unit tests
├── docs/
│   ├── architecture.md      # System architecture & data flow
│   └── tools_reference.md   # Complete API schemas for all 13 tools
├── pyproject.toml           # Project dependencies & tool configurations
├── .env.example             # Environment variable template
├── CONTRIBUTING.md          # Open-source contribution guidelines
├── SECURITY.md              # Security policy & vulnerability reporting
└── LICENSE                  # MIT License

Lizenz

Dieses Projekt ist unter der MIT License lizenziert – frei für private und gewerbliche Zwecke.


Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

View all MCP Connectors

Latest Blog Posts

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/Dhananjayrbiraris/github-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server