mcp-ci-triage
mcp-ci-triage
Lassen Sie Ihren Coding-Agenten die Frage „Warum ist die CI rot?“ beantworten, ohne dass Sie zu GitHub wechseln müssen.
Ein MCP-Server, der den Zustand von GitHub Actions als vier kompakte, schreibgeschützte Tools bereitstellt. Entwickelt für Claude Code, funktioniert aber mit jedem MCP-Client.
You: why is CI failing on main?
Agent: → recent_runs("acme/api", branch="main")
→ failing_jobs("acme/api", run_id=8123)
→ job_log_tail("acme/api", job_id=442, lines=80)
Agent: Run #212 fails in `unit` at the pytest step: test_rate_limiter
times out after the Redis fixture change in a3f9c2e. Two options...Werkzeuge
Tool | Rückgabe |
| Neueste Workflow-Läufe: Nummer, Name, Ergebnis, Branch@sha, run_id |
| Nicht erfolgreiche Jobs und Schritte, einschließlich Fehlern, Zeitüberschreitungen und Abbrüchen; standardmäßig der letzte nicht erfolgreiche Lauf |
| Begrenztes, bereinigtes Ende eines Jobprotokolls, ausdrücklich als nicht vertrauenswürdig gekennzeichnet |
| Workflows, die kürzlich sowohl bestanden als auch fehlgeschlagen sind – ein Triage-Signal, kein Beweis für fehlerhafte Tests |
Übergeben Sie Repositorys als exaktes Paar owner/name, zum Beispiel actions/checkout. URLs, zusätzliche Pfadsegmente, Query-Strings und fehlerhafte Besitzer- oder Repository-Namen werden abgelehnt, bevor eine Anfrage gesendet wird.
Related MCP server: DevOps MCP Server
Installation (2 Minuten)
pip install git+https://github.com/projectsofadi/mcp-ci-triage
# or: clone + `pip install .`
# First load GITHUB_TOKEN into the launching environment from your shell or
# operating-system secret manager. Then add the server without a token literal:
claude mcp add ci-triage -- python -m mcp_ci_triageOder in einer .mcp.json eines Projekts:
{
"mcpServers": {
"ci-triage": {
"command": "python",
"args": ["-m", "mcp_ci_triage"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}
}
}Token-Umfang: ein fein abgestuftes PAT mit schreibgeschütztem Actions-Zugriff auf die gewünschten Repositorys. Öffentliche Repositorys funktionieren ohne Token (ratenbegrenzt).
Platzieren Sie niemals ein Token-Literal in einem Befehlsargument oder in einer eingecheckten .mcp.json. Befehlsargumente können in den Shell-Verlauf oder in Prozesslisten gelangen; Projektdateien können übertragen werden. Behalten Sie in der gemeinsamen Konfiguration nur den obigen Verweis auf die Umgebungsvariable bei.
Für GitHub Enterprise kann GITHUB_API_URL auf den API-Basispfad verweisen (z. B. https://github.example.com/api/v3). HTTPS ist Pflicht, und der Wert darf keine Anmeldeinformationen, keine Query und kein Fragment enthalten.
Private CI-Protokolle
Protokolle aus privaten Repositorys können private Quelldetails, versehentlich vom Build ausgegebene Anmeldeinformationen, Prompt-Injection-Texte oder andere sensible Daten enthalten. Der Server maskiert Terminalsteuerzeichen, begrenzt einzelne Zeilen, begrenzt den Gesamt-Download und kennzeichnet alle GitHub-Inhalte als nicht vertrauenswürdig. Er erkennt oder schwärzt keine lesbaren Geheimnisse. Verbinden Sie ihn nur mit einem MCP-Client und Modell, dem Sie vertrauen, fordern Sie das kleinste sinnvolle Protokollende an, befolgen Sie niemals Anweisungen in einem Protokoll und überprüfen Sie die Ausgabe, bevor Sie sie in ein Issue oder einen Chat kopieren.
Die erste Protokollanfrage ist authentifiziert. Umgeleitete Downloads sind nur über HTTPS möglich und verwenden einen neuen Client ohne den GitHub-Authorization-Header. Signierte Umleitungs-Query-Parameter werden aus HTTP-Diagnosen und bereinigten Fehlermeldungen entfernt.
Designhinweise (der Teil, der verallgemeinert)
Dieses Repository dient auch als Referenz dafür, wie interne MCP-Server meiner Meinung nach gebaut werden sollten:
Standardmäßig schreibgeschützt. Kein einziges Tool hier verändert irgendetwas. Schreibfähige Tools gehören hinter Ihre Berechtigungsebene, bewusst und später hinzugefügt.
Kompakter Text statt JSON-Dumps. Der Agent liest die Tool-Ausgabe wie ein Mensch.
#212 CI [failure] main@a3f9c2eschlägt 4 KB verschachteltes JSON sowohl bei Tokens als auch bei der Argumentationsqualität.Von Natur aus nicht vertrauenswürdig. Remote-Felder und -Protokolle sind begrenzt, mit Escape-Zeichen versehen und in explizite reine Datenmarkierungen eingeschlossen.
Überall Zeitüberschreitungen. Anfragen haben ein 15-Sekunden-I/O-Timeout. JSON-Antworten haben ein Gesamtlimit von 20 Sekunden und eine Obergrenze von 8 MiB dekodierten Bytes; die paginierte Triage hat ein einziges 30-Sekunden-Operationslimit. Protokoll-Downloads haben ihr eigenes Gesamtlimit von 20 Sekunden und eine Obergrenze von 8 MiB.
Laut scheitern. HTTP-Fehler werden ausgelöst; der Agent sieht den Fehler und passt sich an. Stille leere Ergebnisse erzeugen selbstbewusste falsche Antworten.
Kleine Oberfläche. Vier Werkzeuge, die sich ergänzen, schlagen zwanzig überlappende.
failing_jobsweist den Agenten an, als Nächstesjob_log_tailaufzurufen – Werkzeuge können ihren eigenen Arbeitsablauf lehren.Beweis, keine Diagnose. Gemischte Workflow-Ergebnisse sind nützlich, um zu entscheiden, was als Nächstes untersucht werden soll, beweisen aber nicht, dass ein einzelner Test fehlerhaft ist.
Entwicklung
pip install -e ".[dev]"
ruff check .
ruff format --check .
pytest
python -m build
python -m twine check dist/*Lizenz
MIT – siehe LICENSE.
Weitere MCP- und Entwicklerwerkzeug-Projekte: projectsofadi auf GitHub.
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
- AlicenseAqualityNot gradedmaintenanceConnects AI assistants to GitHub Actions workflows to monitor CI/CD pipelines, view run logs, diagnose failures, and optionally trigger or manage workflows with granular permission controls.101
- AlicenseNot gradedqualityCmaintenanceEnables read-only integration with GitHub, Jenkins, and Artifactory for DevOps monitoring, analysis, and troubleshooting. Provides repository inspection, build log retrieval, and artifact management through natural language.MIT
- FlicenseAqualityCmaintenanceStreamlines GitHub PR workflows, monitors CI/CD, and sends Slack notifications. Provides tools for PR analysis, CI monitoring, and follow-up tasks.7
- FlicenseAqualityCmaintenanceExposes tools to list, run, and inspect GitHub Actions workflows locally via act, enabling debugging and fixing failures through an agent loop.3
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Git-backed platform for skills, tools, and context for AI agents
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
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/projectsofadi/mcp-ci-triage'
If you have feedback or need assistance with the MCP directory API, please join our Discord server