pr-reviewer-mcp

pr-reviewer-mcp

An MCP server exposing AI-powered GitHub PR review as tools.

Category
Visit Server

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 review
  • GOOGLE_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.js now uses a personal access token via @octokit/rest directly, instead of @octokit/auth-app + installation tokens. No webhook server, no Express, no smee-client.
  • Trigger: no webhook listener. Review happens when a tool is called.
  • Logging: console.log → console.error in 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.js and diff-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_reviews tool 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured