An MCP server that integrates with GitHub to handle webhook events, create pull requests, and manage PR workflows including approval checks and automated merging
This server has severe definition quality gaps. Tool names lack action verbs (handlePushEvent, handlePullRequestEvent violate verb_noun convention). Descriptions are present but generic and lack WHEN/WHY context. Critical issue: input schemas for 3 of 5 tools use bare 'object' type with no field definitions, these score 0 on schema. Parameters lack type constraints, enums, ranges, and validation guidance. No output schemas documented. Error handling is absent, functions log errors but return nothing to guide LLM recovery. The server implements webhook automation, not MCP tool patterns; tools are inferred from function names rather than explicitly registered with proper schemas.
Checks the CI status of a commit by retrieving repository statuses and verifying if there is a successful status
Creates a pull request on GitHub with automatic title generation based on branch and base branch names
Handles GitHub pull request events, checks for approvals and CI status, and automatically merges approved PRs with successful CI
Handles GitHub push events and automatically creates a pull request if the pushed branch starts with 'feature/'
Merges a pull request using squash merge strategy
Three tools (mergePullRequest, handlePushEvent, handlePullRequestEvent) have input schemas with bare 'object' type and no field definitions.
Tool names violate verb_noun convention. 'handlePushEvent' and 'handlePullRequestEvent' use 'handle' (generic, non-specific). Should be 'create_pull_request_on_push', 'merge_approved_pull_request', etc. LLMs cannot infer intent from 'handle'.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract return values. Descriptions do not state what fields are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 27 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Functions log errors internally but return nothing to the LLM. Errors like 'Error creating PR' or 'Error fetching reviews' provide no actionable next steps.
Descriptions lack WHEN/WHY context and are under 50 chars for most tools. 'Checks the CI status of a commit...' does not explain when to call this vs other tools or what to do with the result.