Evidence-backed PR contribution advisor MCP — local-only, read-only, OKF v0.1 compliant. Analyzes PR contributions across repositories with historical anti-patterns and success patterns.
pr-genius exposes 4 read-only tools with minimal descriptions and incomplete parameter documentation. All tools lack parameter type definitions in their schemas. Descriptions are present but generic (10-60 chars, below the 50-200 char optimal range). No output schemas are documented. The server is read-only, which reduces security risk, but the tool interface lacks the clarity and completeness required for reliable LLM usage. Naming is verb-first and adequate, but schema quality is critically deficient.
Retrieve detailed case study analysis for a specific pull request
Retrieve profile information for a specified repository
List all open pull requests across tracked repositories
Retrieve schema information and validation details for PR analysis
Input schemas lack type definitions. The 'repo' parameter in get_repo_profile has a description but no explicit 'type' field; 'pr_number' in get_case_study is missing. Parameters cannot be validated or routed without type information. LLMs cannot infer whether a parameter is a string, integer, array, or object.
No output schemas documented. The tools return data to the LLM but the response structure is not declared. LLMs cannot plan downstream operations or extract specific fields without knowing what fields exist in the response. list_open_prs likely returns an array, but cardinality, pagination, and field names are undocumented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Descriptions are generic and under 50 characters. 'Retrieve profile information for a specified repository' (57 chars) lacks context for WHEN to use this tool or what distinguishes it from get_case_study. Optimal description length is 50-200 chars for LLM selection. 'List all open pull requests across tracked repositories' (57 chars) does not explain pagination, result limits, or what fields are included.
list_open_prs accepts no parameters, but likely returns many results. No pagination (limit, offset, page, cursor) or result-capping parameters are exposed. Without pagination metadata, LLMs cannot know when there are more results or how to fetch subsequent pages, risking context exhaustion or incomplete data.
No parameter descriptions exist for input fields. The 'repo' parameter states its format ('owner/name') but does not explain what happens if the repo doesn't exist, whether wildcards are allowed, or how to discover valid repos. The 'pr_number' parameter is undocumented (what if it doesn't exist? is it 1-indexed?).
No error handling guidance. If a repo is not found or a PR doesn't exist, the tool likely returns an error, but there is no description of recovery paths (e.g., 'Try list_open_prs() to see available PRs' or 'Call search_repos() to discover the correct owner/name format').
schema_info tool is poorly named and described. The name 'schema_info' is vague, it does not start with a clear action verb (get, retrieve, describe). The description 'Retrieve schema information and validation details for PR analysis' is 70 chars but still unclear: what schema? Is this for the tool API, the PR data model, or a configuration schema?