The GitHub MCP server provides functionality to extract diffs from Pull Requests.
Retrieves the diff content from a GitHub Pull Request.
Parameters:
owner
: Repository owner/organization namerepo
: Repository namepr_number
: Pull Request number
Returns: Object containing:
content
: String containing the PR diff
Required: Set the GitHub Personal Access Token as an environment variable:
export GITHUB_TOKEN=<your-github-token>
The token needs at least repo
scope permissions to access private repositories. For public repositories, a token with public_repo
scope is sufficient.
The server implements standard error handling:
- Missing/invalid token returns
ErrorCode.AuthenticationError
- Invalid repository details return
ErrorCode.InvalidParams
- Non-existent PR returns
ErrorCode.NotFound
- Failed diff fetches return formatted error messages
- Graceful shutdown on SIGINT
- Built using the Highlight AI MCP SDK
- Uses GitHub REST API v3
- Input validation via Zod
- Runs as a stdio-based MCP server
- Supports Node.js >=18.0.0
- Rate limits apply based on GitHub API restrictions
- Large diffs may be truncated according to GitHub API limits
- Token requires appropriate repository access permissions