MCP server: GitHub Actions CI triage tools for coding agents (read-only)
Server has 5 well-named tools with clear verb-noun patterns (list_, get_, search_). All tools have descriptions (avg 85 chars, within baseline 34-392). Input schemas are present with typed parameters and descriptions. However, output schemas are NOT documented, critical gap for LLM planning. Parameter descriptions lack format constraints (e.g., 'repo' format, 'limit' bounds). No error handling guidance or recovery paths. Security is strong (read-only, input validation, log redaction), but missing tool annotations (readOnlyHint) and pagination metadata (total_count, next_cursor). Composition is clean, each tool has one responsibility.
Download and return the logs for a specific job
Get details of a specific workflow run
List jobs in a workflow run
List workflow runs for a repository, optionally filtered by status and conclusion
Search for text patterns in job logs
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., run_id, job_id for chaining). Baseline: 100% of A+ tools document return types.
Pagination not implemented. list_workflow_runs and list_run_jobs accept 'limit' but do not return total_count, next_cursor, or offset. Large result sets will blow context window. Baseline: paginated tools must support offset/limit and return metadata.
Parameter constraints not documented in descriptions. 'limit' has no min/max bounds stated; 'repo' format is validated in code but not described to LLM; 'status' and 'conclusion' accept free-form strings instead of enums. Baseline: 100% of A+ tools constrain inputs via enums or format descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
No error recovery guidance. Tools validate inputs and call GitHub API, but error responses do not guide LLM on next steps (e.g., 'repo not found, try list_repos()' or 'rate limited, retry in 60s'). Baseline: error responses must tell agent what to do next.
Tool annotations missing. No readOnlyHint declared despite all tools being read-only. Agents cannot infer safety without explicit annotations. Baseline: current spec (2026-07-28) rewards tool annotations.