pr-reviewer-mcp
An MCP server exposing AI-powered GitHub PR review as tools.
README
pr-reviewer-mcp
An MCP server exposing AI-powered GitHub PR review as tools, adapted from codewarrior (a webhook-driven GitHub App) into an on-demand tool server.
Why this exists
The original app reviews automatically when a PR opens — event-driven. This version reviews when explicitly asked, by you or by an agent — tool-driven. Same review pipeline (LangChain + Gemini), different trigger model and a different auth model (PAT instead of GitHub App installation tokens, since there's a human in the loop at call time instead of a webhook).
Tools
| Tool | Description |
|---|---|
list_open_prs |
List open PRs for a repo |
get_pr_diff |
Fetch the raw diff, no AI |
review_file |
AI review of a single file in a PR |
review_pr |
Full AI review: all files in parallel + synthesized summary |
post_review_comment |
Post a review as a PR comment |
Setup
npm install
cp .env.example .env
Fill in .env:
GITHUB_TOKEN— fine-grained PAT with Pull requests (read/write) and Contents (read) permissions on the repos you want to reviewGOOGLE_API_KEY— from Google AI Studio
Running locally
npm start
This starts the server on stdio. It won't print anything to stdout (that channel is reserved for the MCP protocol) — status logs go to stderr.
Connecting to CLI or VS Code
Add to your MCP config (claude_desktop_config.json or equivalent):
{
"mcpServers": {
"pr-reviewer": {
"command": "node",
"args": ["/absolute/path/to/pr-reviewer-mcp/src/index.js"],
"env": {
"GITHUB_TOKEN": "your-token-here",
"GOOGLE_API_KEY": "your-key-here"
}
}
}
}
Restart your IDE, then you can ask things like:
"Review PR #12 on srivastava-aryan/dsa-tracker"
and it will call review_pr, decide whether to post it, and call
post_review_comment if you confirm.
What changed from the original app
- Auth:
github-auth.jsnow uses a personal access token via@octokit/restdirectly, instead of@octokit/auth-app+ installation tokens. No webhook server, no Express, nosmee-client. - Trigger: no webhook listener. Review happens when a tool is called.
- Logging:
console.log→console.errorin the review pipeline, since stdout is reserved for MCP protocol messages on stdio transport. - Everything else — prompts, parallel file review, synthesis step — is
unchanged from the original
reviewer.jsanddiff-fetcher.js.
Next steps worth exploring
- Swap stdio transport for HTTP/SSE if you want to host this remotely instead of running it locally per-user
- Add a
list_recent_reviewstool backed by a small DB, so repeated reviews on the same PR don't re-run from scratch - Add resource support (
server.resource) to expose PR diffs as browsable MCP resources rather than only tool outputs
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.