Repo Recap — GitHub MCP Server for Claude
Ask Claude about any GitHub repository in plain English — it answers using real live data.
  ---
What is this?
Repo Recap is an MCP (Model Context Protocol) server that bridges Claude to the GitHub API. Instead of clicking through dozens of GitHub pages, you simply ask Claude a question:
"What happened in
vercel/next.jsthis week?" "Draft release notes forfacebook/reactfrom the last 30 days." "Which issues inmicrosoft/vscodeneed the most attention?"
Claude calls this server, fetches the data, and hands you a clean, readable answer.
---
Features
| Ask Claude… | Tool called | |---|---| | "Recap owner/repo from the last week" | list_recent_activity | | "Draft release notes for owner/repo" | summarize_pull_requests | | "What open issues need attention?" | triage_issues | | "How healthy is owner/repo?" | get_repo_health |
Also includes:
- A resource — read any repo's README directly inside Claude
- A prompt — one-click weekly digest template
---
How it works
You (in Claude) ──► Claude ──► repo-recap server ──► GitHub API
│ │
clean summary ◄──────┴────── tidied-up data ◄────────────┘
Claude never talks to GitHub directly. This server is the bridge: it holds your GitHub token securely, calls the API, and converts raw JSON into readable summaries.
---
Prerequisites
- Python 3.10+
- A GitHub personal access token (read-only is enough)
- Claude Desktop (to connect the server to Claude)
---
Setup
1. Clone the repo
git clone https://github.com/YOUR_USERNAME/repo-recap.git
cd repo-recap
2. Install dependencies
pip install -r requirements.txt
Tip: use a virtual environment —
python -m venv .venv && source .venv/bin/activate(Mac/Linux) or.venv\Scripts\activate(Windows)
3. Create your .env file
cp .env.example .env
Open .env and paste your GitHub token:
GITHUB_TOKEN=github_pat_your_real_token_here
How to get a token: GitHub → Settings → Developer settings → Fine-grained personal access tokens → New token. Set it to read-only. Required permissions: Contents, Issues, Pull requests, Metadata.
4. Test without Claude (optional but recommended)
mcp dev server.py
This opens the MCP Inspector in your browser — you can click-test every tool before connecting to Claude.
5. Connect to Claude Desktop
Find your Claude Desktop config file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this block (adjust the path to where you cloned the repo):
{
"mcpServers": {
"repo-recap": {
"command": "python",
"args": ["C:/FULL/PATH/TO/repo-recap/server.py"]
}
}
}
Restart Claude Desktop. A small hammer icon will appear — the tools are live.
---
Usage examples
Weekly recap > "Give me a recap of torvalds/linux from the last 7 days."
Release notes > "Summarize pull requests in astral-sh/uv from the last month and write release notes."
Issue triage > "What are the top 10 open issues in django/django sorted by discussion?"
Health check > "How healthy is supabase/supabase — stars, open PRs, last release?"
Read a README > "Show me the README for anthropics/anthropic-sdk-python."
---
Project structure
repo-recap/
├── server.py # MCP server — all tools, resource, and prompt live here
├── requirements.txt # Python dependencies
├── .env.example # Token template (safe to commit)
├── .env # Your real token (never committed)
└── .gitignore
---
Built with
- Model Context Protocol (MCP) — open standard for connecting tools to AI
- FastMCP — ergonomic MCP server framework
- PyGithub — GitHub API Python client
- python-dotenv — safe
.envloading
---
Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to change.
- Fork the repo
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a pull request











