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., "@GitHub PR Analysis MCP ServerAnalyze this PR and summarize the changes: https://github.com/facebook/react/pull/28211"
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.
GitHub PR Analysis MCP Server
This project implements a Model Context Protocol (MCP) server that analyzes GitHub Pull Requests and optionally creates a structured Notion page with the analysis results. It is designed to be used locally with Claude CLI using the stdio MCP transport.
π Features: Analyze GitHub Pull Requests using GitHub API Extract PR metadata, commits, files, and code changes Generate structured AI-based PR analysis Optionally create a Notion page with the analysis Runs locally via MCP stdio Integrates seamlessly with Claude CLI
π§ Architecture Overview: Claude CLI β β (MCP stdio) βΌ MCP Server (Python) βββ GitHub API (PR data) βββ AI Analysis Logic βββ Notion API (Page creation)
π Project Structure: MCP-STDIO/ βββ pr_analyzer.py # MCP server entry point βββ github_integration.py # GitHub PR fetching logic βββ requirements.txt # Python dependencies βββ .venv/ # Virtual environment
π Required Environment Variables:
The application relies on the following environment variables:
Variable Description GITHUB_TOKEN GitHub Personal Access Token NOTION_API_KEY Notion integration secret NOTION_PAGE_ID Parent Notion page ID
π How to Create GITHUB_TOKEN: Go to π https://github.com/settings/tokens
Click Generate new token (classic) Select scopes: β repo β read:user Generate token and copy it
π§Ύ How to Create NOTION_API_KEY: Go to π https://www.notion.so/my-integrations
Click New integration Name it (e.g. PR Analyzer) Select your workspace Copy the Internal Integration Secret
π How to Create NOTION_PAGE_ID: Create a page in Notion (this will be the parent page) Share the page with your integration: Click Share Invite your integration Copy the page URL:
https://www.notion.so/AI-PR_ANALYSIS-2*************************
Extract the page ID (last 32 characters): 2***********************
π¦ Dependencies (requirements.txt): Package Purpose requests Communicates with GitHub & Notion REST APIs python-dotenv Loads environment variables from .env fastmcp MCP server framework
π Setup Instructions: 1οΈβ£ Create Virtual Environment cd MCP-STDIO python -m venv .venv source .venv/bin/activate
2οΈβ£ Install Dependencies pip install -r requirements.txt
3οΈβ£ Verify Server Runs Manually .venv/bin/python pr_analyzer.py
β This should start the MCP server without errors.
π€ Using the MCP Server with Claude CLI 1οΈβ£ Ensure Claude CLI is Installed claude --version
Expected output:
2.x.x (Claude Code)
2οΈβ£ Configure MCP Server (~/.claude.json) { "mcpServers": { "github_pr_analysis": { "type": "stdio", "command": "full path of your .venv/bin/python ", "args": ["pr_analyzer.py"], "cwd": "full path of your pr_analyzer.py" } } }
β οΈ Make sure: command points to the virtualenv python cwd is the folder containing pr_analyzer.py
3οΈβ£ Restart Claude CLI claude 4οΈβ£ Verify MCP Server is Connected Inside Claude CLI: /mcp You should see: github_pr_analysis Β· β connected π§ͺ Example Usage in Claude Analyze this PR: https://github.com/org/repo/pull/123
Claude will: Fetch PR details Perform analysis
Ask: βWould you like me to create a Notion page for this analysis?β
Reply with: yes β creates Notion page no β skips creation
π Debugging Tips Add logs in MCP server: print("Debug message", file=sys.stderr)
Check Claude MCP logs: claude --debug
Verify paths: pwd ls pr_analyzer.py
β Summary MCP server runs locally via stdio Claude CLI acts as the client GitHub PRs are analyzed automatically Notion pages are created on user confirmation Secure via environment variables
children=[{ "object": "block", "type": "paragraph", "paragraph": { "rich_text": [{ "type": "text", "text": {"content": content} }] } }]
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.