pr-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pr-mcp-serverCreate a pull request with a review"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pr-mcp-server
MCP (Model Context Protocol) server to automate Pull Request creation with AI. Analyzes Git branches, generates descriptions, titles, suggests reviewers, and performs code reviews. Designed to speed up reviews and improve PR quality.
β¨ Features
π Unified PR Workflow - Complete PR creation with one command ("Create a PR")
π§ AI-Powered Code Review - Context-aware review integrated into PR description
π Project Context Analysis - Detects TypeScript, i18n, state management, styling, testing frameworks
π PR Generation - Generate PR descriptions (standard, detailed, minimal templates | EN/FR)
π·οΈ Conventional Titles - Generate conventional PR titles (feat, fix, docs, etc.)
π¨ Smart GIFs - Automatically adds relevant GIFs based on work type
π₯ Auto Reviewers - Suggest and add reviewers based on contribution history
π Code Review - Automated code review with actionable feedback
π€ AI-Ready - Works with MCP Inspector, Cursor, and Claude Desktop
Related MCP server: Cursor Auto-Review MCP Server
π Documentation
Configuration Guide - Setup for Cursor, Claude Desktop, and MCP Inspector
Tools Reference - Detailed description of all available tools
GitHub Integration - Creating PRs on GitHub with auto-reviewers
Smart Reviewers - How reviewer detection works and troubleshooting
Smart GIF Selection - Automatic GIF selection and rate limit handling
Examples - Real-world usage examples
Architecture - Project structure and design
π Quick Start
Requirements
Node.js 18+
A Git repository
Installation
Local development:
npm install
npm run buildGlobal installation (recommended):
npm linkThis makes the pr-mcp-server command available globally.
Test with MCP Inspector
After npm link, run:
npx @modelcontextprotocol/inspector pr-mcp-serverThe Inspector will list all available tools. Run it inside a Git repository for full functionality.
Use with Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"pr-mcp-server": {
"command": "pr-mcp-server",
"cwd": "{workspaceFolder}"
}
}
}Restart Cursor, then ask:
"Create a PR" - Uses the unified workflow (recommended)
"Génère le titre de ma PR"
"Analyse ma branche et génère la description de la PR"
"CrΓ©e une PR sur GitHub avec des reviewers"
See Configuration Guide for more details.
π― Unified PR Creation Workflow (AI-Powered)
When you say "Create a PR", Claude (the AI) orchestrates an intelligent workflow:
How It Works
Call
reviewtool - Gathers comprehensive project context:Detects language/framework (TypeScript, PHP, Python, Go, Rust, etc.)
Identifies technologies (i18n, state management, styling, testing)
Extracts full diff and commit history
Returns structured prompt with all context
Claude analyzes and generates review - True AI-powered analysis:
Understands project conventions automatically
Identifies issues specific to YOUR tech stack
Provides intelligent, context-aware suggestions
Works for ANY language/framework (not just TypeScript!)
Call
create_pr_completewith review - Creates complete PR:Generates conventional commit-style title
Creates comprehensive description
Includes Claude's intelligent review
Adds smart GIF based on PR type
Creates/updates GitHub PR
Assigns reviewers from Git history
What Makes It Intelligent
Unlike rule-based tools, this uses Claude's intelligence to:
β Adapt to ANY project (PHP Laravel, Python Django, Go, Rust, etc.)
β Understand complex patterns and context
β Provide project-specific recommendations
β Detect violations of YOUR project's conventions
Example: In a PHP Laravel project, it will flag SQL injection vulnerabilities and suggest Eloquent ORM. In a React i18n project, it will catch hardcoded strings. All automatically!
Example Usage
# In Cursor or Claude Desktop, simply say:
"Create a PR"
# Claude will automatically:
# 1. Call 'review' to get project context
# 2. Analyze the context and generate intelligent review
# 3. Call 'create_pr_complete' with the review
# 4. Return the PR URL
# With specific options:
"Create a PR in English with the detailed template"
"Create a draft PR without reviewers"See AI_POWERED_REVIEW.md for technical details on how the AI review works.
π οΈ Available Tools
Tool | Description | Recommended |
| π Unified workflow - Complete PR creation with AI review | β YES |
| Create PR on GitHub with auto-reviewers (no AI review) | |
| Analyze differences between branches | |
| Generate conventional PR title | |
| Generate PR description | |
| Generate both title and description | |
| Suggest reviewers based on Git history | |
| Automated code review (context-aware) |
Recommendation: Use create_pr_complete for the best experience. It combines all features with intelligent, context-aware code review.
See Tools Reference for detailed documentation.
π¦ Useful Scripts
npm run build # Compile TypeScript to dist/
npm start # Start the MCP server
npm test # Run tests
npm run test:watch # Run tests in watch mode
npm run test:ui # Run tests with UI
npm run dev # Run in development modeπ Troubleshooting
"Not a git repository": Run the server inside a Git repo
ESM import issues: Use Node 18+ and build the project (
npm run build)Permission errors: Ensure your shell has access to the repo
"GitHub token is required": Set
GITHUB_TOKENenvironment variable"Branch does not exist on remote": Push your branch first
See GitHub Integration for more troubleshooting.
π License
MIT
Available Tools
8 toolsanalyze_branchA
Analyzes the differences between the current Git branch and a base branch. Automatically detects the main branch (dev/main/master) and current Git repository from the working directory. Use this when the user asks to analyze a branch, check changes, or understand what's in the current branch.
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Include detailed analysis | |
| baseBranch | No | Base branch for comparison (auto-detected if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses auto-detection behavior but no annotations provided. Does not mention error handling, permissions, or if it is read-only. Moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with purpose, no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with two optional params. Lacks output description but acceptable given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. Description adds context on auto-detection of baseBranch, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it analyzes differences between current and base branch, with auto-detection. Distinguishes from siblings focused on PR creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (analyze branch, check changes). Implies alternatives for PR generation. Could add when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_prA
Creates a Pull Request on GitHub WITHOUT AI review. RECOMMENDED WORKFLOW: (1) Call 'generate_pr_title' β get prompt, (2) YOU analyze and generate title, (3) Call 'generate_pr_description' β get prompt, (4) YOU analyze and generate description, (5) Call THIS tool with 'title' and 'description' parameters. If not provided, simple versions are auto-generated from commits/templates. NOTE: This tool does NOT include AI code review. For complete PR WITH AI review, use 'create_pr_complete' instead. This tool: analyzes branch, creates/updates PR, adds reviewers automatically. Requires GITHUB_TOKEN. Use when user asks to create a simple PR without code review.
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | Create the PR as a draft | |
| title | No | RECOMMENDED: YOUR (Claude's) generated PR title. Workflow: (1) Call 'generate_pr_title' to get analysis prompt, (2) YOU analyze and create intelligent title, (3) Pass YOUR title here. DO NOT pass the tool's output directly - it's a prompt for YOU, not the final title. If not provided, a simple title is auto-generated from commit messages. | |
| language | No | Description language | fr |
| template | No | Template to use for the description | standard |
| baseBranch | No | Base branch for comparison (auto-detected if not provided) | |
| description | No | RECOMMENDED: YOUR (Claude's) generated PR description. Workflow: (1) Call 'generate_pr_description' to get analysis prompt, (2) YOU analyze and write intelligent description, (3) Pass YOUR description here. DO NOT pass the tool's output directly - it's a prompt for YOU, not the final description. If not provided, a simple template-based description is auto-generated. | |
| githubToken | No | GitHub token for authentication (optional, defaults to GITHUB_TOKEN env var) | |
| addReviewers | No | Automatically suggest and add reviewers based on Git history | |
| includeStats | No | Include statistics in the description | |
| maxReviewers | No | Maximum number of reviewers to add (1-20) | |
| maxTitleLength | No | Maximum length for the title (optional, e.g., 72) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses key behaviors: no AI review, branch analysis, auto-update, automatic reviewer addition, and token requirement. Update behavior could be clearer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with workflow steps and notes, but somewhat verbose. Every sentence earns its place, though some repetition exists (e.g., 'RECOMMENDED' emphasis).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no output schema, the description comprehensively covers the workflow, auto-generation fallback, and sibling distinction. It could explicitly mention what the tool returns (e.g., PR object) but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 11 parameters have schema coverage, but the description adds extensive workflow context (e.g., how to use title/description parameters, guidance on NOT passing tool output directly) that significantly enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a Pull Request on GitHub WITHOUT AI review', uses specific verbs and resource, and explicitly distinguishes from sibling 'create_pr_complete'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a step-by-step RECOMMENDED WORKFLOW, explicitly tells when to use this tool vs 'create_pr_complete', and advises against passing tool outputs directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_pr_completeA
π UNIFIED PR CREATION WORKFLOW - WHEN USER SAYS 'Create a PR', YOU MUST FOLLOW THESE STEPS IN ORDER: (1) Call 'generate_pr_title' β get prompt, (2) YOU analyze and generate intelligent title, (3) Call 'generate_pr_description' β get prompt, (4) YOU analyze and generate intelligent description, (5) Call 'review' β get context/diff prompt, (6) YOU analyze and write code review, (7) Call THIS tool with 'title', 'description', and 'aiReviewText' parameters. IMPORTANT: ALL 3 parameters (title, description, aiReviewText) should be YOUR generated content, NOT the tool outputs (which are prompts). If any are omitted, simple fallbacks are auto-generated. This creates a professional PR with: YOUR intelligent title, YOUR comprehensive description, YOUR AI code review, smart GIF, automatic reviewer assignment. Works for ANY language/framework. Requires GITHUB_TOKEN.
| Name | Required | Description | Default |
|---|---|---|---|
| draft | No | Create the PR as a draft | |
| title | No | RECOMMENDED: YOUR (Claude's) generated PR title. Workflow: (1) Call 'generate_pr_title' to get analysis prompt, (2) YOU analyze and create intelligent title, (3) Pass YOUR title here. DO NOT pass the tool's output directly - it's a prompt for YOU, not the final title. If not provided, a simple title is auto-generated from commit messages. | |
| language | No | Description language | fr |
| template | No | Template to use for the description | standard |
| baseBranch | No | Base branch for comparison (auto-detected if not provided) | |
| description | No | RECOMMENDED: YOUR (Claude's) generated PR description. Workflow: (1) Call 'generate_pr_description' to get analysis prompt, (2) YOU analyze and write intelligent description, (3) Pass YOUR description here. DO NOT pass the tool's output directly - it's a prompt for YOU, not the final description. If not provided, a simple template-based description is auto-generated. | |
| githubToken | No | GitHub token for authentication (optional, defaults to GITHUB_TOKEN env var) | |
| addReviewers | No | Automatically suggest and add reviewers based on Git history | |
| aiReviewText | No | REQUIRED for complete PR with review: YOUR (Claude's) generated code review text. Workflow: (1) Call 'review' tool to get analysis prompt with context/diff, (2) YOU analyze and write the review following the format in that prompt, (3) Pass YOUR review text here. DO NOT pass the review tool's output directly - it's a prompt for YOU to analyze, not the final review. | |
| includeStats | No | Include statistics in the description | |
| maxReviewers | No | Maximum number of reviewers to add (1-20) | |
| maxTitleLength | No | Maximum length for the title (optional, e.g., 72) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool requires GITHUB_TOKEN, auto-generates fallbacks for omitted parameters, and expects AI-generated content for title/description/review. It also mentions it creates a smart GIF and assigns reviewers. However, it does not describe potential side effects or permission requirements beyond the token, and could be more explicit about mutation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, using emojis, bold, all caps, and step-by-step instructions that blend workflow guidance with tool documentation. While detailed, it is not concise and may overwhelm agents with unnecessary formatting and redundant explanations. A more streamlined description would serve better.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, no output schema, multiple siblings), the description covers the workflow and parameter usage well. However, it lacks information about the return value or success/failure behavior. The mention of 'creates professional PR' gives some output context, but more detail on what the agent can expect from the call would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, baseline is 3. The description adds significant value by explaining the workflow for key parameters (title, description, aiReviewText) and emphasizing that they should be AI-generated content, not direct tool outputs. It also clarifies defaults and fallbacks for other parameters (draft, language, template, etc.), improving understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a 'UNIFIED PR CREATION WORKFLOW' and generates a professional PR with title, description, AI review, etc. It distinguishes itself from sibling tools by positioning as the final step after calling generate_pr_title, generate_pr_description, and review. However, the description is dense and mixes workflow instructions with tool purpose, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly outlines a step-by-step workflow: (1) call generate_pr_title, (2) YOU analyze, (3) call generate_pr_description, (4) YOU analyze, (5) call review, (6) YOU analyze, (7) call this tool. It also explains when to use fallbacks if parameters are omitted. This provides clear context and distinguishes from alternative sibling tools like generate_pr_title, etc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_pr_completeA
Generates both a conventional commit-style PR title and a complete Pull Request description in one operation. Combines the functionality of generate_pr_title and generate_pr_description. Automatically analyzes the current Git branch from the working directory. Use this when the user wants both title and description generated together.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Description language | fr |
| template | No | Template to use for the description | standard |
| baseBranch | No | Base branch for comparison (auto-detected if not provided) | |
| includeStats | No | Include statistics in the description | |
| maxTitleLength | No | Maximum length for the title (optional, e.g., 72) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions automatic branch analysis but does not specify whether the tool has side effects, required permissions, or the nature of the operation (read/query vs. modification). This is a significant gap for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three precise sentences, front-loaded with the primary purpose, followed by combination info and usage hint. No redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description could be more complete. It doesn't explain the output or provide higher-level parameter interaction context. The automatic branch analysis is noted, but missing details like return format or limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any extra meaning or context for the parameters beyond what is already in the schema. It provides no parameter-level guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a PR title and description in one operation, combining functionality of two sibling tools. It uses specific verbs and resources, and implicitly distinguishes from siblings by noting the combined operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when the user wants both title and description generated together', providing clear usage context. However, it doesn't explicitly mention when not to use or alternatives like individual tools, though the sibling context provides some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_pr_descriptionA
β οΈ CRITICAL: This tool returns an ANALYSIS PROMPT for YOU (Claude) to generate a description, NOT a final description. OUTPUT: You receive comprehensive context (project type, commits, files, diff sample) formatted as a detailed prompt with specific instructions. YOUR JOB: Analyze that context and generate an intelligent, well-structured PR description. The prompt includes format requirements (What/Why/How/Impact sections), language preferences (FR/EN), and style guidelines. YOU must read it, understand the changes, and write a clear description ready for GitHub. DO NOT return the prompt - generate YOUR description. Use when creating PR or when user asks for PR description. The generated description should then be passed to create_pr or create_pr_complete tools.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | PR title (optional) | |
| language | No | Description language | fr |
| template | No | Template to use | standard |
| includeStats | No | Include statistics |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the critical behavior: the tool returns a prompt, not a final description, and requires the AI to generate the description from that context. This is transparent and sets proper expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the critical warning and is well-structured, but somewhat lengthy. Every sentence is informative, but could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a meta-tool and no output schema, the description provides comprehensive context: output format, AI's role, workflow, and references to sibling tools. It is sufficient for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes parameters. The description adds context that language and template affect the prompt generation, but does not add significant new meaning beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns an analysis prompt for the AI, not a final description. It uses a strong warning and explicitly distinguishes itself from siblings like create_pr and generate_pr_title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States when to use ('when creating PR or when user asks for PR description') and implies that the AI must process the output rather than returning it. Could be slightly more explicit about when not to use, but overall clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_pr_titleA
β οΈ CRITICAL: This tool returns an ANALYSIS PROMPT for YOU (Claude) to generate a title, NOT a final title. OUTPUT: You receive comprehensive context about the code changes (commits, files, diff patterns) formatted as a prompt. YOUR JOB: Analyze that context and generate an intelligent conventional commit-style PR title (e.g., 'feat(auth): add OAuth support'). The prompt provides all the information you need to understand what changed. YOU must read it and create a concise, descriptive title that accurately reflects the changes. DO NOT return the prompt - generate YOUR title. Use when creating PR or when user asks for a PR title. The generated title should then be passed to create_pr or create_pr_complete tools.
| Name | Required | Description | Default |
|---|---|---|---|
| maxLength | No | Maximum length for the title (optional, e.g., 72) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses that the tool returns a prompt for analysis, not a final answer, and warns with 'CRITICAL'. It explains the AI must read the context and generate a title, which is transparent about the unusual input-output relationship.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but necessary given the unusual tool behavior. It is front-loaded with a warning and provides clear steps. Could be slightly more concise, but still well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (tool returns a prompt for AI to process), the description is complete. It explains output, AI's role, and how to use the result. No output schema, but return behavior is described clearly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (maxLength) with 100% schema coverage. The description does not add details about how maxLength affects the prompt or title, but the schema already describes it. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns an analysis prompt for the AI to generate a PR title, not a final title. It specifies the verb 'generate' and the resource 'PR title' with an explicit twist, distinguishing it from siblings like create_pr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when creating PR or when user asks for a PR title' and instructs the AI to not return the prompt but generate a title. It also references sibling tools: 'should then be passed to create_pr or create_pr_complete tools.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reviewA
β οΈ CRITICAL: This tool ONLY returns an ANALYSIS PROMPT for YOU (Claude), NOT a final review. OUTPUT: You receive comprehensive context (project type, diff, commits, structure) formatted as a detailed prompt with instructions. YOUR JOB: Analyze that context and generate the actual code review following the exact format specified in the prompt. The prompt includes everything you need: project context, full diff, testing framework, architecture details. YOU must read it, analyze the code changes, and write a concise review (max 10-15 lines) with sections: Summary, Critical Issues, Key Suggestions, Decision (APPROVE/REQUEST_CHANGES). DO NOT return the prompt itself - generate YOUR review. Works for ANY language/framework because context is provided. Use when user asks to review code or when creating PR with review.
| Name | Required | Description | Default |
|---|---|---|---|
| baseBranch | No | Base branch for comparison (auto-detected if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is highly transparent, warning with β οΈ that the tool only returns a prompt, not a final review. It explains the exact output, the AI's job, and the review format. No annotations exist, so the description fully covers behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but necessary given the tool's unusual workflow. It front-loads the critical warning and structures the explanation clearly. Slight redundancy could be trimmed, but overall it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains the tool's purpose, output, and the agent's role, including the expected review format. Despite the lack of an output schema, the description provides complete contextual information for proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'baseBranch'. The description adds value by mentioning it is auto-detected if not provided, which goes beyond the schema's description. This extra context justifies a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns an analysis prompt for the AI to generate a code review. It mentions using it when the user asks to review code, but does not explicitly differentiate from sibling tools like analyze_branch or create_pr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when user asks to review code or when creating PR with review.' It provides clear context for when to use, though it does not mention when not to use or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_reviewersA
Suggests code reviewers based on Git contribution history of modified files in the current branch. Automatically analyzes the working directory's Git repository. Use this when the user asks who should review the PR or to suggest reviewers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of reviewers to suggest |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses it automatically analyzes the working directory's Git repository, which is helpful. However, with no annotations, it lacks details on side effects, required permissions, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. Front-loaded with purpose then usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers essential behavior and usage. Could mention that it requires a Git repo with changes, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (limit parameter described). Description does not add meaning beyond schema; repeats the limit parameter indirectly but adds no extra semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it suggests code reviewers based on Git history of modified files. Differentiates from sibling tools like create_pr or analyze_branch which have distinct purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when the user asks who should review the PR or to suggest reviewers.' Provides clear usage context, though does not explicitly mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v1.0.0- First observed
analyze_branch - First observed
create_pr - First observed
create_pr_complete - First observed
generate_pr_complete - First observed
generate_pr_description - First observed
generate_pr_title - First observed
review - First observed
suggest_reviewers
TDQS
The tools have distinct purposes, but the similar names create_pr and create_pr_complete could confuse an agent without careful reading. The generate_* tools are clearly separated as prompt generators, and review is distinct. Detailed descriptions help, but the cognitive load is moderate.
Most tools follow a verb_noun pattern in snake_case, e.g., create_pr, generate_pr_title. However, 'review' is a single verb without a noun, and 'suggest_reviewers' uses plural. The pattern is largely consistent with minor deviations.
With 8 tools, the server covers the essential PR creation workflow (branch analysis, title/description generation, review, creation, reviewer suggestion) without being bloated or sparse. The count feels well-scoped for its purpose.
The server focuses on creating PRs with AI review, but lacks common PR lifecycle operations like listing, updating, merging, or commenting. For a 'pr-mcp-server', the surface is incomplete beyond the creation workflow, leaving notable gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native git hosting β repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.β¦
A MCP server built for developers enabling Git based project management with project and personalβ¦
- JamOAuthdev.jam.mcp
The Jam MCP server provides AI tools with instant bug context without manual prompting, enabling a streamlined workflow from bug identification to ticket creation and pull request generation without switching between tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA MCP server that provides tools for analyzing git changes and suggesting appropriate PR templates, helping automate PR-related workflows.MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that automates code reviews through linting, testing, and git diff analysis. It also generates conventional commit messages and detailed pull request descriptions based on file changes and code patterns.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that automates pull request reviews using multiple LLM providers (OpenAI, Claude, Gemini, Groq, Perplexity) and supports GitHub and Bitbucket with real-time webhook integration and interactive AI assistant commands.1-
- AlicenseNot gradedqualityBmaintenanceMCP server for automated code review using AI agents. It analyzes code diffs or file paths for bugs, security issues, and style violations.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/valentin-harrang/pr-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server