pr-reviewer-mcp
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-reviewer-mcpReview PR #12 on myorg/my-repo"
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-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).
Related MCP server: devflow-mcp
Tools
Tool | Description |
| List open PRs for a repo |
| Fetch the raw diff, no AI |
| AI review of a single file in a PR |
| Full AI review: all files in parallel + synthesized summary |
| Post a review as a PR comment |
Setup
npm install
cp .env.example .envFill 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 startThis 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 scratchAdd resource support (
server.resource) to expose PR diffs as browsable MCP resources rather than only tool outputs
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/srivastava-aryan/cmw-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server