Analyzes Git changes between branches to extract file change metadata, commit history, and diffs for PR template suggestions.
Provides tools for analyzing Git changes and suggesting appropriate PR templates, including detecting changed files, gathering diff statistics, fetching commit history, and capturing diffs.
Github with PR Template Tools
The following illustrates basic GitHub MCP server that provides tools for analyzing git changes and suggesting appropriate PR templates.
Setup
1. Install uv
Follow the official installation instructions at: https://docs.astral.sh/uv/getting-started/installation/
2. Install dependencies
3. Configure the MCP Server
Add the server to Claude Code:
Related MCP server: Git MCP Server
Tools Available
**analyze_file_changes**: Analyzes Git changes between a base branch and HEAD to extract file-level modifications, commit history, and optionally truncated diffs — enabling automated PR generation, impact assessment, or review workflows.
Key Functionalities:
Parses changed files via
git diff --name-statusinto structured JSON:[{ "status": "M", "file": "main.py" }, ...]Fetches change statistics via
git diff --statCaptures commit history using
git log --onelineOptionally includes full or truncated diff (default: 500 lines)
Smart fallback logic:
Uses
mcp.get_context().session.list_roots()to infer working directoryDefaults to
os.getcwd()if context is unavailableEmbeds a rich
_debugblock with root info, working directory trace, and server context
**get_pr_template**: Fetches the available PR templates from the shared template directory, including content and metadata — ready to be displayed, edited, or autofilled by Claude or similar agents.
Key Functionalities:
Loads all templates defined in
DEFAULT_TEMPLATES(e.g.,bug.md,feature.md,docs.md, etc.)Reads the content of each template file from disk
Fails gracefully if a file is missing or unreadable (
Error loading template...)Returns metadata alongside the file body:
filename,type,content
**suggest_templates**: Provides Claude-friendly PR template recommendations based on a natural language change summary and change type (e.g., "bug", "feature"). Suggests the best-fit template and alternatives with reasoning and confidence level.
Key Functionalities:
Normalizes change_type using a semantic map (TYPE_MAPPING)
Selects a recommended template (or defaults to feature.md)
Includes 2–3 alternatives to support Claude in ambiguous scenarios
Adds reasoning and confidence level ("high"/"medium")
Embeds the full template content to support AI-based autofill or mutation
Inputs:
changes_summary: natural language summary of the diffchange_type: one of bug, feature, docs, refactor, performance, etc.
Future Improvements:
Expose this as a web tool or MCP extension
Embed automatic PR generation directly into GitHub Actions
Integrate template generation with LLM-assisted refactoring