ContextPacker MCP Server
Provides tools to fetch and pack relevant files from any GitHub repository, enabling AI agents to quickly understand and work with codebases.
Click on "Deploy 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., "@ContextPacker MCP ServerHow does authentication work in expressjs/express?"
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.
ContextPacker MCP Server
Give any MCP-compatible AI agent instant access to any GitHub repository — without pasting files manually.
"How does authentication work in expressjs/express?"
→ agent fetches exactly the relevant files, packed within your token budgetWorks with Claude Desktop, Cursor, Windsurf, VS Code (GitHub Copilot), and any other MCP client.
Hosted API: contextpacker.com — 100 free requests, no card required. This is early software. If something doesn't work as expected, please open an issue — feedback is very welcome.
Tools
Tool | Description |
| Selects and packs the most relevant files for a question |
| Returns the full annotated file tree (repo map) without file contents |
Both tools support public repos out of the box. For private repos, add a GitHub PAT (see below).
Related MCP server: GitHub Repository MCP Server
Quick start
Note: The package is not yet on PyPI. Use Option B (run from source) for now. PyPI /
uvxsupport is coming soon.
Option A — uvx (coming soon)
uvx contextpacker-mcpOption B — run from source (works now)
git clone https://github.com/rozetyp/contextpacker-mcp
cd contextpacker-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e .
python server.py # verify it startsThen point your MCP client at the server.py file (see Configure your MCP client).
Get an API key
Get a free key (100 requests, no card required) at contextpacker.com.
For running without an API key, see Self-hosting.
Configure your MCP client
First clone the repo and note the full path to server.py (e.g. /Users/you/contextpacker-mcp/server.py).
Replace that path and cp_live_your_key_here with your actual values in the snippets below.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"contextpacker": {
"command": "python3",
"args": ["/path/to/contextpacker-mcp/server.py"],
"env": {
"CONTEXTPACKER_API_KEY": "cp_live_your_key_here"
}
}
}
}Cursor
Create or edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project:
{
"mcpServers": {
"contextpacker": {
"command": "python3",
"args": ["/path/to/contextpacker-mcp/server.py"],
"env": {
"CONTEXTPACKER_API_KEY": "cp_live_your_key_here"
}
}
}
}Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"contextpacker": {
"command": "python3",
"args": ["/path/to/contextpacker-mcp/server.py"],
"env": {
"CONTEXTPACKER_API_KEY": "cp_live_your_key_here"
}
}
}
}VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your project:
{
"servers": {
"contextpacker": {
"type": "stdio",
"command": "python3",
"args": ["/path/to/contextpacker-mcp/server.py"],
"env": {
"CONTEXTPACKER_API_KEY": "cp_live_your_key_here"
}
}
}
}Private repositories
Add your GitHub Personal Access Token (needs repo scope) to the env block:
"env": {
"CONTEXTPACKER_API_KEY": "cp_live_your_key_here",
"GITHUB_PAT": "ghp_your_token_here"
}Environment variables
Variable | Required | Default | Description |
| Yes (hosted) | — | API key from contextpacker.com |
| No |
| Override for self-hosted instances |
| No | — | GitHub PAT for private repo access ( |
Self-hosting
Run the full ContextPacker server locally — no API key needed:
git clone https://github.com/rozetyp/contextpacker
cd contextpacker
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
export LLM_API_KEY=your_gemini_or_openai_key
uvicorn context_packer.main:app --port 8000Then in your MCP client config, omit CONTEXTPACKER_API_KEY and add:
"env": {
"CONTEXTPACKER_API_URL": "http://localhost:8000"
}How it works
get_context(repo_url, "how does routing work?")
↓
Shallow clone (depth=1) — or warm cache hit (~1s)
↓
Build file tree, extract AST symbols per file
↓
LLM ranks and selects the most relevant files
↓
Pack selected files into Markdown within your token budget
↓
Return context with per-file reason commentsFirst call for a repo: 3–10s (clone + index). Subsequent calls: ~1s.
Development
git clone https://github.com/rozetyp/contextpacker-mcp
cd contextpacker-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e .Test with the MCP Inspector:
npx @modelcontextprotocol/inspector python3 server.py
# Opens http://localhost:6274 — test tools directly in your browserFeedback
This is early software under active development. If you:
Can't get it working → open an issue
Get bad context results for a repo → let us know with a minimal example
Want to request a new MCP client config or feature → open an issue
A ⭐ on GitHub helps more developers find this.
Contributing
Bug reports and pull requests are welcome. Please open an issue first for larger changes.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Ask any GitHub repository a question. Get source-backed answers.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude Desktop to GitHub repositories, enabling users to perform git operations and GitHub API interactions through natural conversation.358 npm-
- AlicenseCqualityDmaintenanceEnables AI models to access GitHub repository contents as context, with features to fetch entire repositories, specific file contents, and repository structures for use in AI interactions.359 npm2MIT
- AlicenseAqualityDmaintenanceEnables analysis of any GitHub repository to get architecture, file roles, execution flows, system design Q\&A, and structured agent context. Works with MCP-compatible clients like Claude Desktop, Cursor, and Windsurf.623 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to query GitHub repositories in plain English, fetching recent activity, release notes, issue triage, and health summaries via the GitHub API.-