MCP Server for GitHub integration providing tools to manage issues, pull requests, and workflow actions
Server has 12 tools with consistent Zod schemas and basic descriptions. All tools have input schemas with typed parameters and descriptions. However, descriptions are minimal (10-50 chars), lacking context on WHEN to use each tool or dependencies between them. Output schemas are not documented, LLMs cannot predict response structure. No error handling guidance, no idempotency hints, and no distinction between read-only and write operations in descriptions. Parameter descriptions are present but terse (e.g., 'Repository owner' vs 'The GitHub username or organization name of the repository owner'). Missing pagination details for list tools. No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification.
Cancel a workflow run (action) by run_id
Create a comment on an issue
Create a comment on a pull request
Get an issue by number
Get a pull request by number
Get a workflow run (action) by run_id
List issues for a repository
Descriptions are too brief (10-50 chars). LLMs cannot determine WHEN to use each tool or how it differs from similar tools. E.g., 'List workflow runs (actions) for a repository' lacks context on pagination, filtering, or when to call vs getWorkflowRun.
Output schemas are not documented. Tools return JSON.stringify() of API responses, but LLMs have no schema to predict structure, field names, or types. This forces LLMs to guess downstream field names and risks broken tool chains.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Server clearly stratifies tools as READ_ONLY vs WRITE, but this is not communicated to the LLM via annotations. LLMs cannot distinguish safe retry candidates from irreversible operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
List pull requests for a repository
List workflow runs (actions) for a repository
Retry a workflow run (action) by run_id
Update an issue
Update a pull request
List tools lack pagination guidance. listWorkflowRuns, listIssues, listPullRequests accept page/per_page but descriptions do not explain limits, defaults, or when pagination is required. No mention of result caps or total counts.
Parameter descriptions are minimal. E.g., 'Repository owner' vs 'The GitHub username or organization name (e.g., torvalds for linux kernel)'. Descriptions lack format hints, constraints, or examples to guide LLM input.