MCP server for GitHub Projects V2 and Issues management, built on Cloudflare Workers with React UI
Server has 4 tools with complete schemas and descriptions. Naming follows verb_noun convention (LIST_ISSUES, GET_ISSUE, CREATE_ISSUE, GET_TOOL_METADATA). All tools have descriptions (194-250 chars, within baseline 34-392 range). Input schemas are well-structured with types and descriptions for all parameters. However, output schemas are not documented in the provided source, critical for LLM planning. Error handling guidance is absent. Parameter descriptions lack actionable constraints (e.g., 'first' param has no min/max guidance despite 'max: 100' comment). CREATE_ISSUE requires node IDs (assigneeIds, labelIds) rather than human-friendly names, forcing extra lookup calls and violating natural-identifier pattern.
Create a new GitHub issue with optional assignees, labels, and milestone.
Get detailed information about a specific GitHub issue by its number.
Get metadata about all available tools including their IDs, descriptions, and schemas. Useful for building tool introspection UIs.
List issues in a GitHub repository with optional filtering by state, labels, and assignee.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
CREATE_ISSUE requires node IDs (assigneeIds, labelIds, milestoneId) instead of human-friendly names. Forces extra lookup calls and violates natural-identifier pattern. Users say 'assign to Jack', not 'assign to node_id_xyz'.
Parameter constraints lack actionable descriptions. 'first' param has default=20, max=100 in comment but no min/max in description text. LLMs cannot read JSON Schema constraints, they rely on description text.
No error handling guidance. Tools lack recovery hints (e.g., 'If issue not found, try LIST_ISSUES to verify repo exists'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
CREATE_ISSUE lacks confirmation/dry-run pattern for irreversible operation. Agents can accidentally create duplicate issues without a safety gate.