Skip to main content
Glama
punyprogrammer

GitHub PR Analyzer MCP Server

GitHub PR Analyzer MCP Server

MCP server that fetches GitHub pull request details and saves reviews to Notion. Built with FastMCP (stdio transport) for clients like Claude Desktop.

Tools

Tool

Description

fetch_pr_changes

Fetch PR metadata and file changes from GitHub

create_notion_page

Create a child page under a shared Notion parent page

Related MCP server: PR Reviewer

Setup

cd pr_reviewer
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Or with uv:

uv venv && source .venv/bin/activate
uv pip install -r requirements.txt

Environment

Copy .env (do not commit secrets):

GITHUB_TOKEN=ghp_your_github_pat
NOTION_API_KEY=ntn_your_notion_integration_secret
NOTION_PAGE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Variable

Notes

GITHUB_TOKEN

GitHub PAT with access to the repos you want to review

NOTION_API_KEY

Internal integration secret from Notion integrations

NOTION_PAGE_ID

Parent page UUID (or page URL). New reviews are created under this page

Notion: share the page

The parent page must be connected to your integration:

  1. Open the parent page in Notion

  2. ···Connect to / Add connections

  3. Select your integration (e.g. PR Review Server Demo)

Without this, Notion returns “Could not find page… shared with your integration”.

Run locally

python pr_analyzer.py

This starts an stdio MCP server and waits for a client. Prefer launching it from Claude Desktop rather than testing alone in a terminal.

Claude Desktop config

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "github_pr_analyzer": {
      "command": "/ABS/PATH/TO/pr_reviewer/.venv/bin/python",
      "args": ["/ABS/PATH/TO/pr_reviewer/pr_analyzer.py"],
      "cwd": "/ABS/PATH/TO/pr_reviewer"
    }
  }
}

Quit Claude completely (Cmd+Q) and reopen after editing.

Example prompt

Use github_pr_analyzer:
1) fetch_pr_changes for owner / repo / PR number
2) create_notion_page with a short title and the review summary

Logs

tail -f ~/Library/Logs/Claude/mcp-server-github_pr_analyzer.log

Project layout

pr_reviewer/
├── pr_analyzer.py         # MCP server + tools
├── github_integration.py  # GitHub API helper
├── requirements.txt
├── .env                   # secrets (gitignored)
└── README.md

Notes

  • Notion paragraph text is limited to 2000 characters; long content is split into multiple blocks.

  • Keep .env and .venv out of git (see .gitignore).

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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/punyprogrammer/pr-analyzer-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server