MCP GitHub Issue Priority Server
MCP GitHub Issue Priority Server
Ein Model Context Protocol (MCP) Server, der es KI-Assistenten ermöglicht, GitHub-Issues mit deterministischer Prioritätsbewertung und nebenläufigkeitssicherer Auswahl zu verwalten.
Schnelleinstieg
# 1. Install from npm (recommended)
npm install -g mcp-git-issue-priority
# 2. Authenticate (if not already using GitHub CLI)
gh auth login
# 3. Add to Claude Code (~/.claude.json){
"mcpServers": {
"github-issue-priority": {
"command": "mcp-git-issue-priority"
}
}
}# 4. Restart Claude Code and verify
# The MCP tools should appear when you run /mcpRelated MCP server: Project Manager MCP
Funktionen
Prioritätsbasierte Issue-Auswahl: Ein deterministischer Bewertungsalgorithmus sorgt für eine konsistente Priorisierung der Issues über Sitzungen hinweg.
Nebenläufigkeitssichere Sperrung: Dateibasierte atomare Sperren verhindern, dass mehrere KI-Sitzungen dasselbe Issue auswählen.
Geführter Workflow: 8-Phasen-Workflow (Auswahl → Recherche → Branch → Implementierung → Testen → Commit → PR → Review) mit Übergangsvalidierung.
Automatische Etikettierung: Erstellt und verwaltet Prioritäts- (
P0-P3), Typ- (bug,feature,chore,docs) und Status-Labels.Erkennung veralteter Sperren: Erkennt und bereinigt automatisch Sperren von abgestürzten Prozessen.
Audit-Logging: JSON-Lines-Logging für alle Vorgänge mit 30-tägiger Aufbewahrungsfrist.
Installation
Voraussetzungen
Node.js 20+ - Download
GitHub CLI (empfohlen) - Installieren und
gh auth loginausführenOder: ein persönliches GitHub-Zugriffstoken mit
repo-Berechtigung
Installation über npm (empfohlen)
npm install -g mcp-git-issue-prioritySpezifische Version installieren
npm install -g mcp-git-issue-priority@1.0.0Installation aus dem Quellcode
git clone https://github.com/steiner385/mcp-git-issue-priority.git
cd mcp-git-issue-priority
npm install && npm linkFehlerbehebung
Problem | Lösung |
| Stellen Sie sicher, dass das globale npm-Bin-Verzeichnis in Ihrem PATH liegt: |
| Führen Sie |
Build-Fehler während der Installation | Stellen Sie sicher, dass Node.js 20+ installiert ist: |
Konfiguration
GitHub-Authentifizierung
Der Server unterstützt zwei Authentifizierungsmethoden:
Empfohlen: GitHub CLI (automatisch)
Wenn Sie die GitHub CLI installiert und authentifiziert haben, ruft der Server Ihr Token automatisch ab:
# One-time setup
gh auth loginDies ist der empfohlene Ansatz – keine manuelle Token-Verwaltung erforderlich.
Alternative: Umgebungsvariable
Setzen Sie GITHUB_TOKEN mit einem persönlichen Zugriffstoken, das über repo-Berechtigungen verfügt:
export GITHUB_TOKEN="ghp_your_personal_access_token"Oder konfigurieren Sie es in Ihren MCP-Einstellungen (siehe unten).
Claude Code Konfiguration
Fügen Sie dies zu ~/.claude.json (global) oder .claude/settings.json (Projekt) hinzu:
{
"mcpServers": {
"github-issue-priority": {
"command": "mcp-git-issue-priority"
}
}
}Verwenden Sie ein persönliches Zugriffstoken anstelle der GitHub CLI? Fügen Sie das Token zur Konfiguration hinzu:
{
"mcpServers": {
"github-issue-priority": {
"command": "mcp-git-issue-priority",
"env": {
"GITHUB_TOKEN": "ghp_your_personal_access_token"
}
}
}
}Installation überprüfen
Nach dem Neustart von Claude Code:
Führen Sie
/mcpaus, um verfügbare MCP-Server anzuzeigen.Der
github-issue-priority-Server sollte mit 13 Tools aufgelistet sein.Versuchen Sie
list_backlogin einem beliebigen Repository, um zu bestätigen, dass es funktioniert.
Verfügbare Tools
create_issue
Erstellt ein neues GitHub-Issue mit obligatorischen Prioritäts- und Typ-Labels.
Arguments:
- title (required): Issue title
- body (optional): Issue description
- priority (required): P0 (critical) | P1 (high) | P2 (medium) | P3 (low)
- type (required): bug | feature | chore | docs
- repository (required): "owner/repo" formatselect_next_issue
Wählt das Issue mit der höchsten Priorität aus dem Backlog aus und sperrt es. Verwendet deterministische Bewertung, um eine konsistente Auswahl zu gewährleisten.
Arguments:
- repository (required): "owner/repo" format
- type (optional): Filter by issue type
- maxPriority (optional): Only consider issues at or above this prioritylist_backlog
Listet alle offenen Issues in der Reihenfolge ihrer Priorität auf, ohne Sperren zu erwerben (schreibgeschützt).
Arguments:
- repository (required): "owner/repo" format
- type (optional): Filter by issue type
- limit (optional): Maximum issues to return (default: 20)advance_workflow
Setzt den Workflow für ein gesperrtes Issue in die nächste Phase fort.
Arguments:
- issueNumber (required): Issue number to advance
- targetPhase (required): research | branch | implementation | testing | commit | pr | review
- repository (required): "owner/repo" format
- testsPassed (optional): Required when advancing to 'commit' phase
- prTitle (optional): Required for 'pr' phase
- prBody (optional): Required for 'pr' phase
- skipJustification (optional): Required if skipping phasesget_workflow_status
Ruft den aktuellen Workflow-Status für gesperrte Issues ab.
Arguments:
- issueNumber (optional): Specific issue number
- repository (optional): "owner/repo" formatrelease_lock
Gibt die Sperre für ein Issue frei (nach Abschluss, Abbruch oder Merge).
Arguments:
- issueNumber (required): Issue number
- reason (required): completed | abandoned | merged
- repository (required): "owner/repo" formatforce_claim
Erzwingt die Übernahme eines Issues, das von einer anderen Sitzung gesperrt wurde (erfordert Bestätigung).
Arguments:
- issueNumber (required): Issue number to claim
- confirmation (required): Must be exactly "I understand this may cause conflicts"
- repository (required): "owner/repo" formatsync_backlog_labels
Erkennt und korrigiert optional Issues, denen erforderliche Prioritäts-, Typ- oder Status-Labels fehlen.
Arguments:
- repository (required): "owner/repo" format
- mode (optional): "report" (default) to list issues, "update" to apply labels
- defaultPriority (optional): P0 | P1 | P2 | P3 (defaults to P2)
- defaultType (optional): bug | feature | chore | docs (defaults to feature)Im Berichtsmodus wird eine Liste aller Issues ohne Labels zurückgegeben, mit Details dazu, was fehlt.
Im Aktualisierungsmodus werden Standard-Labels auf Issues angewendet:
Fehlende Priorität →
priority:P2(oder angegebener Standardwert)Fehlender Typ →
type:feature(oder angegebener Standardwert)Fehlender Status →
status:backlog
get_pr_status
Überprüft den CI-Status, den Genehmigungsstatus und den Merge-Status eines Pull Requests.
Arguments:
- repository (required): "owner/repo" format
- prNumber (required): Pull request number to checkbulk_update_issues
Fügt Labels hinzu/entfernt sie und schließt/öffnet mehrere Issues gleichzeitig.
Arguments:
- repository (required): "owner/repo" format
- issues (required): Array of issue numbers (1-50)
- addLabels (optional): Labels to add
- removeLabels (optional): Labels to remove
- state (optional): "open" | "closed"implement_batch
Startet die Implementierung einer Gruppe von N Issues in der Reihenfolge ihrer Priorität. Gibt das erste zu implementierende Issue zurück.
Arguments:
- repository (required): "owner/repo" format
- count (required): Number of issues to implement (1-10)
- includeTypes (optional): Only include these issue types
- excludeTypes (optional): Exclude these issue types
- maxPriority (optional): Only P0, P1, etc.batch_continue
Setzt die Batch-Implementierung fort. Wartet auf den PR-Merge und gibt dann das nächste Issue oder den Abschluss zurück.
Arguments:
- batchId (required): Batch ID from implement_batch
- prNumber (optional): PR number for current issueget_workflow_analytics
Ruft zeitbasierte Workflow-Analysen ab: Zykluszeit, Phasenaufschlüsselung, Alterungsberichte.
Arguments:
- repository (required): "owner/repo" format
- period (optional): "7d" | "30d" | "90d" | "all" (default: 30d)Prioritäts-Bewertungsalgorithmus
Issues werden mit einer deterministischen Formel bewertet:
score = (basePoints + ageBonus) * blockingMultiplier * blockedPenaltyBasispunkte: P0=1000, P1=100, P2=10, P3=1
Alterungsbonus: +1 Punkt pro Tag seit Erstellung (max. 365)
Blockierender Multiplikator: 1,5x für Issues mit dem Label "blocking"
Blockierte Strafe: 0,1x für Issues, die durch offene übergeordnete Issues blockiert sind (via GitHub Sub-Issues)
Entscheidung bei Gleichstand: Das frühere Erstellungsdatum gewinnt (FIFO)
Abhängigkeitserkennung
Issues mit offenen übergeordneten Issues (unter Verwendung der GitHub Sub-Issues-Funktion) werden automatisch mit einer 0,1x-Strafe herabgestuft. Dies stellt sicher, dass blockierte Arbeit ans Ende des Backlogs sinkt, bis ihre Abhängigkeiten gelöst sind. Sobald ein übergeordnetes Issue geschlossen wird, kehrt die Priorität des untergeordneten Issues zum Normalwert zurück.
Workflow-Phasen
selection: Issue ausgewählt und gesperrt
research: Verständnis des Problems
branch: Feature-Branch erstellt
implementation: Code-Änderungen in Arbeit
testing: Tests und Validierung laufen
commit: Änderungen committet
pr: Pull Request erstellt
review: Warten auf Review/Merge
Datenspeicherung
Alle Daten werden lokal unter ~/.mcp-git-issue-priority/ gespeichert:
~/.mcp-git-issue-priority/
├── locks/ # Active lock files (.lockdata)
├── workflow/ # Workflow state files (.json)
└── logs/ # Audit logs (JSON Lines format)Entwicklung
Build
npm run buildTest
npm testLint
npm run lintTyp-Prüfung
npm run typecheckVeröffentlichung (Maintainer)
Einmalige Einrichtung
Erstellen Sie ein npm-Konto unter https://www.npmjs.com/
Gehen Sie zu https://www.npmjs.com/settings/tokens
Erstellen Sie ein "Automation"-Token mit "Publish"-Berechtigung
Fügen Sie es zu GitHub hinzu: Settings → Secrets → Actions → Neues Secret namens
NPM_TOKEN
Erstellen eines Releases
# Patch release (bug fixes): 1.0.0 → 1.0.1
npm version patch -m "Release v%s"
git push && git push --tags
# Minor release (new features): 1.0.0 → 1.1.0
npm version minor -m "Release v%s"
git push && git push --tags
# Major release (breaking changes): 1.0.0 → 2.0.0
npm version major -m "Release v%s"
git push && git push --tagsDas Pushen eines Tags löst den Release-Workflow aus, der:
Lint, Build und Tests ausführt
Ein GitHub-Release mit angehängtem Tarball erstellt
Auf der npm-Registry veröffentlicht
Download-Tracking
GitHub: Die Releases-Seite zeigt die Download-Anzahl pro
.tgz-Assetnpm: https://www.npmjs.com/package/mcp-git-issue-priority zeigt wöchentliche Downloads
Lizenz
MIT-Lizenz - siehe LICENSE für Details.
Mitwirken
Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md für Richtlinien.
Feedback & Support
Wir würden uns freuen, von Ihnen zu hören! Ihr Feedback hilft, dieses Tool für alle zu verbessern.
Fragen oder Ideen? Starten Sie eine Diskussion
Bug gefunden? Öffnen Sie ein Issue
Feature-Anfrage? Öffnen Sie ein Issue mit
[Feature]im TitelSchnelles Feedback? Führen Sie
mcp-git-issue-priority --feedbackaus, um die Feedback-Seite zu öffnen
Überprüfen Sie bestehende Issues, bevor Sie neue erstellen.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Assign Linear, Jira or GitHub issues to an AI coding agent team that plans, builds, reviews, tests.
The issue tracker AI coding agents pull work from: atomic claims, dependency-aware dispatch.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceEnables AI-driven orchestration of GitHub development workflows including automated issue analysis, code generation, code review, and PR creation through multiple specialized agents. Integrates with GitHub Actions to automate the complete development process from issue to pull request.7-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage projects, epics, and tasks with atomic locking, real-time dashboard, and multi-agent coordination.MIT
- AlicenseAqualityAmaintenanceEnables AI coding agents to orchestrate the full software development lifecycle on GitHub, including planning, issue creation, code review, security triage, and release readiness checks.1365 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables multiple AI coding agents to collaborate on the same Git repository without conflicts through isolated worktrees, file locking, automated test verification, and a serialized merge queue.4 npm7MIT