mcp-ci-triage
mcp-ci-triage
Deja que tu agente de codificación responda "¿por qué está rojo el CI?" sin que tengas que cambiar de pestaña a GitHub.
Un servidor MCP que expone el estado de GitHub Actions como cuatro herramientas compactas y de solo lectura. Diseñado para Claude Code, pero funciona con cualquier cliente MCP.
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...Herramientas
Herramienta | Qué devuelve |
| Ejecuciones de workflow más recientes: número, nombre, conclusión, rama@sha, run_id |
| Trabajos y pasos no exitosos, incluidos fallos, tiempos de espera agotados y cancelaciones; por defecto, el último trabajo no exitoso |
| Cola acotada y saneada de un registro de trabajo, etiquetada explícitamente como no confiable |
| Workflows que recientemente tanto pasaron como fallaron: una señal de triaje, no una prueba de tests flaky |
Pasa los repositorios como un par exacto owner/name, por ejemplo actions/checkout.
Las URLs, los segmentos de ruta adicionales, las cadenas de consulta y los nombres de propietario o repositorio malformados
se rechazan antes de enviar una solicitud.
Related MCP server: DevOps MCP Server
Instalación (2 minutos)
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_triageO en el .mcp.json de un proyecto:
{
"mcpServers": {
"ci-triage": {
"command": "python",
"args": ["-m", "mcp_ci_triage"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}
}
}Alcance del token: un PAT de grano fino con acceso de solo lectura a Actions en los repositorios que te interesan. Los repositorios públicos funcionan sin token (con límite de velocidad).
Nunca coloques un token literal en un argumento de comando ni en un .mcp.json versionado.
Los argumentos de comando pueden quedar en el historial del shell o en listados de procesos; los archivos de proyecto pueden
ser confirmados. Mantén solo la referencia a la variable de entorno anterior en la configuración compartida.
Para GitHub Enterprise, GITHUB_API_URL puede apuntar a su ruta base de API (por
ejemplo, https://github.example.com/api/v3). HTTPS es obligatorio, y el valor
no debe contener credenciales, una consulta o un fragmento.
Registros de CI privados
Los registros de repositorios privados pueden contener detalles de código fuente privados, credenciales impresas accidentalmente por una compilación, texto de inyección de prompts u otros datos sensibles. El servidor escapa los controles de terminal, acota las líneas individuales, limita la descarga total y etiqueta todo el contenido de GitHub como no confiable. No reconoce ni redacta secretos imprimibles. Conéctalo solo a un cliente MCP y a un modelo en los que confíes, solicita la cola útil más pequeña, nunca sigas instrucciones encontradas en un registro y revisa la salida antes de copiarla en un issue o chat.
La primera solicitud de registro está autenticada. Las descargas redirigidas son solo HTTPS y
usan un nuevo cliente sin el encabezado Authorization de GitHub. Los parámetros de consulta de redirección firmados
se eliminan de los diagnósticos HTTP y de los mensajes de error saneados.
Notas de diseño (la parte que generaliza)
Este repositorio también sirve como referencia de cómo creo que deberían construirse los servidores MCP internos:
Solo lectura por defecto. Ninguna herramienta aquí muta nada. Las herramientas con capacidad de escritura pertenecen detrás de tu capa de permisos, añadidas deliberadamente, más tarde.
Texto compacto, no volcados JSON. El agente lee la salida de las herramientas como una persona.
#212 CI [failure] main@a3f9c2esupera a 4KB de JSON anidado tanto en tokens como en calidad de razonamiento.No confiable por construcción. Los campos y registros remotos están acotados, con escapes de control y encerrados en marcadores explícitos de solo datos.
Tiempos de espera en todo. Las solicitudes tienen tiempos de espera de E/S de 15 segundos. Las respuestas JSON tienen un plazo total de 20 segundos y un límite de 8 MiB de bytes decodificados; el triaje paginado tiene un plazo de operación de 30 segundos. Las descargas de registros tienen su propio plazo total de 20 segundos y un límite de 8 MiB.
Falla alto. Los errores HTTP se elevan; el agente ve el error y se adapta. Los resultados vacíos silenciosos crean respuestas incorrectas con confianza.
Superficie pequeña. Cuatro herramientas que se componen superan a veinte que se superponen.
failing_jobsle dice al agente que llame ajob_log_taila continuación: las herramientas pueden enseñar su propio flujo de trabajo.Evidencia, no diagnóstico. Los resultados mixtos de workflow son útiles para decidir qué inspeccionar a continuación, pero no prueban que un test individual sea flaky.
Desarrollo
pip install -e ".[dev]"
ruff check .
ruff format --check .
pytest
python -m build
python -m twine check dist/*Licencia
MIT — consulta LICENSE.
Más proyectos de MCP y herramientas para desarrolladores: projectsofadi en 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