GitHub Repo Explainer MCP
An MCP server that gives AI assistants like GitHub Copilot and Cursor live access to any GitHub repository — without cloning it first.
Ask your AI questions like:
- "What does this repo do?"
- "What changed in the last 7 days?"
- "Are any dependencies outdated?"
- "Explain this specific file"
And get answers backed by real-time GitHub data, not stale training data.
Why this is different from Cursor or Copilot alone
| Cursor / Copilot alone | This MCP server | |
|---|---|---|
| Explain code | ✅ Local files only | ✅ Any repo, anywhere |
| Live GitHub data | ❌ | ✅ Stars, forks, activity |
| Recent commits & PRs | ❌ | ✅ Last N days |
| Dependency audit | ❌ | ✅ Checks PyPI live |
| Private repos | ❌ | ✅ With your token |
| No cloning needed | ❌ | ✅ |
Tools
| Tool | What it does |
|---|---|
summarize_repo |
Summarizes a repo's purpose, structure, language, and key files |
explain_file |
Fetches and explains a specific file in any repo |
ask_repo |
Answers any freeform question about a repo |
recent_changes |
Shows commits and merged PRs from the last N days |
analyze_dependencies |
Lists dependencies and flags outdated packages via PyPI |
Quickstart
1. Clone the repo
git clone https://github.com/Pranavvr/Repo_Explainer_MCP.git
cd Repo_Explainer_MCP
2. Create a virtual environment and install dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
3. Set up your GitHub token
Create a .env file in the project root:
cp .env.example .env
Then open .env and add your token:
GITHUB_TOKEN=your_github_token_here
Get a token at github.com/settings/tokens. Only
reporead scope needed.
4. Connect to VS Code
Open your MCP config file:
Cmd + Shift + P → MCP: Open User MCP Configuration
Add this:
{
"servers": {
"github-repo-explainer": {
"command": "python3",
"args": ["/absolute/path/to/server.py"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
Replace the path with your actual path. Get it by running pwd in your project folder.
5. Restart VS Code and start asking questions
Open GitHub Copilot chat and try:
What does fastapi/fastapi do?
What changed in vercel/next.js in the last 7 days?
Are the dependencies in YOUR_USERNAME/YOUR_REPO outdated?
Testing with MCP Inspector
To test your tools without an AI client:
npx @modelcontextprotocol/inspector python3 server.py
Opens a browser UI where you can call each tool manually.
Project structure
github-repo-explainer-mcp/
├── server.py # MCP server — defines and exposes the 5 tools
├── github_client.py # GitHub API wrapper — all data fetching logic
├── .env # Your GitHub token (never committed)
├── .env.example # Token template for others
├── requirements.txt # Dependencies
└── README.md
Requirements
- Python 3.10+
- GitHub Personal Access Token (free, read-only scope)
- VS Code 1.99+ with GitHub Copilot, or any MCP-compatible client
Built with
- MCP Python SDK — MCP server framework
- PyGithub — GitHub API client
- python-dotenv — environment variable management
License
MIT
Metadata
Release files for github-repo-explainer-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| github_repo_explainer_mcp-0.1.0.tar.gz | 5.8 kB | Without provenance | Details for github_repo_explainer_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| github_repo_explainer_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for github_repo_explainer_mcp-0.1.0-py3-none-any.whl |
Total release size: 12.4 kB
Release files / github_repo_explainer_mcp-0.1.0.tar.gz
| Download URL | github_repo_explainer_mcp-0.1.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b61ae5341388e53b0d4fc93179bbb963900e6f13a4b4ac760c2a69d735be6225
|
|
BLAKE2b-256 checksum How to use checksums |
6067dd136580d1c17547e9cd355b84ed34e953525e2316c596da98b3f41fbaa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / github_repo_explainer_mcp-0.1.0-py3-none-any.whl
| Download URL | github_repo_explainer_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
33230f32e1e3cb8744857d76082e9d72d11c01ed1a20469af9cdf1efac73ca24
|
|
BLAKE2b-256 checksum How to use checksums |
5746461d69dd19f0c28150f2263a5d3f7c0a82669fdfad7cb6aa746224509d91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for github-repo-explainer-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.