MCP server for GitHub operations
Server has 8 tools with consistent naming (verb_noun pattern) and basic schemas via Zod. All tools have descriptions and input parameters are typed. However, descriptions are generic (avg ~80 chars, below 194-char baseline), output schemas are not documented, error handling is absent, and no guidance on when to use each tool vs. similar ones. Parameter descriptions lack format/constraint details. No pagination documented despite list_* tools. Missing security considerations (GITHUB_TOKEN exposure risk). Composition is reasonable but lacks idempotency guarantees and chaining metadata.
Create a new branch in a repository from a source branch
Create an issue in a GitHub repository with title, body, labels, and assignees
Get file or directory contents from a GitHub repository
Get workflow run history for a specific GitHub Actions workflow
List pull requests in a repository with optional state and sort filters
List repositories for a user, organization, or the authenticated user
Output schemas not documented. Tools return JSON strings but LLMs cannot infer field structure, forcing parsing and risking extraction errors.
No error handling or recovery guidance. Tools throw raw exceptions without actionable messages. LLM cannot self-correct or retry intelligently.
GITHUB_TOKEN exposed via environment variable without server-side secret injection pattern. Token could leak into logs or traces if error occurs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
List GitHub Actions workflows in a repository
Search code across GitHub repositories using GitHub search syntax
Descriptions lack context on when to use each tool. 'List pull requests' vs 'search code', when should LLM pick one over the other? No disambiguation.
Pagination not documented for list_* tools. No limit, offset, or cursor parameters visible. Large result sets will blow context window.