valentin-harrang/pr-mcp-server
If you are the rightful owner of pr-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The pr-mcp-server is a Model Context Protocol server designed to analyze Git branches and generate Pull Request descriptions, enhancing review speed and PR quality.
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
📚 Documentation
- - Setup for Cursor, Claude Desktop, and MCP Inspector
- - Detailed description of all available tools
- - Creating PRs on GitHub with auto-reviewers
- - How reviewer detection works and troubleshooting
- - Automatic GIF selection and rate limit handling
- - Real-world usage examples
- - Project structure and design
🚀 Quick Start
Requirements
- Node.js 18+
- A Git repository
Installation
Local development:
npm install
npm run build
Global installation (recommended):
npm link
This makes the pr-mcp-server command available globally.
Test with MCP Inspector
After npm link, run:
npx @modelcontextprotocol/inspector pr-mcp-server
The 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 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 for technical details on how the AI review works.
🛠️ Available Tools
| Tool | Description | Recommended |
|---|---|---|
create_pr_complete | 🚀 Unified workflow - Complete PR creation with AI review | ⭐ YES |
create_pr | Create PR on GitHub with auto-reviewers (no AI review) | |
analyze_branch | Analyze differences between branches | |
generate_pr_title | Generate conventional PR title | |
generate_pr_description | Generate PR description | |
generate_pr_complete | Generate both title and description | |
suggest_reviewers | Suggest reviewers based on Git history | |
review | 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 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 for more troubleshooting.
📄 License
MIT