ci-triage-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | No | GitHub token used to call GitHub Actions API. If not set, the server falls back to `gh auth token` from the gh CLI. | |
| CI_TRIAGE_DASHBOARD_TOKEN | No | Bearer token to authenticate with the optional dashboard when publishing triage results. Must match the DASHBOARD_API_TOKEN set on the dashboard server. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fetch_pipeline_runA | Resolves a GitHub Actions run (by runId, or the most recent failed run on a branch) and lists its jobs and artifacts. Only works for repos listed in allowedRepos in ~/.ci-triage-mcp/config.json -- add a repo there yourself first (see guardrails.ts). |
| extract_failure_signalA | Turns a noisy raw CI log (or a downloaded JUnit/Surefire XML artifact) into structured FailureSignal entries -- test name, class, message, stack trace, and a stable signature -- using real parsers (JUnit/Surefire XML, ESLint stylish, tsc, Prettier, Maven console), not an LLM guessing from raw text. Prefer passing artifactName when fetch_pipeline_run listed one matching /junit|surefire/i for this run; otherwise this reads the job's own console log. |
| find_similar_past_failuresA | Read-only lookup against a local history store (~/.ci-triage-mcp/history.json) of failure signatures this tool has previously extracted or recorded for this repo. Use this to say "this has happened N times before" instead of treating every failure as novel. Doesn't modify history -- see record_triage_note to persist your own explanation for future lookups. |
| record_triage_noteA | Appends your explanation for a failure signature to the local history store, and bumps its occurrence count. Local file write only -- safe to call without asking the user first, unlike publish_triage which sends data to a shared dashboard. Do this after explaining a failure so future find_similar_past_failures calls have something useful to surface. |
| triage_pipeline_failureA | Convenience tool that chains fetch_pipeline_run -> (download every JUnit/Surefire-looking artifact for the run, and every failed job's log) -> extract_failure_signal's parsers -> find_similar_past_failures. Returns everything needed to write the explanation in one call. Use the granular tools instead when you want to target one specific job. The response includes a dashboardConfigured flag -- if true, ask the user whether they'd like this triage published before calling publish_triage; don't publish automatically. |
| publish_triageA | Sends a triage's explanation and signals to a deployed ci-triage-dashboard instance, returning a shareable URL. Requires "dashboardUrl" in ~/.ci-triage-mcp/config.json and the CI_TRIAGE_DASHBOARD_TOKEN env var -- neither is set by default. ci-triage-dashboard (see dashboard/) exists and works but isn't deployed anywhere public yet (see README roadmap), so this will currently fail with a clear "not configured" error until dashboardUrl is set. Ask the user before calling this once it is configured -- publishing may make the triage readable by others. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/krishanchawla/ci-triage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server