OpenCollab MCP
Provides tools for analyzing GitHub profiles (languages, topics, contribution patterns), finding beginner-friendly issues ('good first issue', 'help wanted') matched to user skills, scoring repository health and contributor-friendliness, assessing contribution readiness (setup difficulty, documentation, CI), generating PR plans from issue context, and estimating contribution impact (stars, reach, resume value) across open source projects.
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., "@OpenCollab MCPanalyze my GitHub profile and suggest good first issues"
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.
OpenCollab MCP
Find your next open source contribution from your AI chat.
6 focused tools. Works with Claude Desktop, Cursor, VS Code, or any MCP-compatible client.
What it does
You ask your AI assistant something like:
"My GitHub is
@octocat. Find me a good first issue I can actually pick up — make sure nobody's already working on it."
OpenCollab gives the AI 6 tools that read the GitHub API. The AI uses them to:
Find issues matched to your skills.
Evaluate whether the repo is worth your time.
Verify the issue isn't already claimed.
Plan the PR with full context.
That's the whole loop: find → evaluate → verify → plan. OpenCollab does not generate text. Your AI client does the thinking; OpenCollab just gives it clean, real-time GitHub data.
v0.6.0 — relaunched lean. Previous versions exposed 22 tools. Most went unused, and big tool lists hurt LLM routing. This release ships the 6 that earn their keep. The full 22-tool version is preserved on the
v1-fullbranch.
Related MCP server: Agentic MCP Server
Quick start
Step 1 — Get a GitHub token
Go to github.com/settings/tokens → Generate new token (classic) → tick public_repo → copy the token (it starts with ghp_).
Step 2 — Add it to your AI client
Open your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Paste this (replace your_token_here with the token from Step 1):
{
"mcpServers": {
"opencollab": {
"command": "uvx",
"args": ["opencollab-mcp"],
"env": {
"GITHUB_TOKEN": "your_token_here"
}
}
}
}Restart Claude Desktop. You're done.
Requires
uv(brew install uvon macOS,pipx install uvelsewhere).uvxwill pullopencollab-mcpfrom PyPI on first launch.
Same JSON as above, but in your client's MCP config file (.cursor/mcp.json for Cursor).
pip install opencollab-mcpThen in your client config, change command to the binary that pip put on your PATH:
{
"mcpServers": {
"opencollab": {
"command": "opencollab-mcp",
"env": {
"GITHUB_TOKEN": "your_token_here"
}
}
}
}Note: if you switch Python versions or virtualenvs, the opencollab-mcp binary may disappear and you'll need to pip install again. uvx avoids this.
docker build -t opencollab-mcp .
docker run -e GITHUB_TOKEN=ghp_xxx -p 8000:8000 opencollab-mcpThe container runs as a non-root user with TRANSPORT=streamable-http on port 8000.
Step 3 — Try it
Open your AI client and ask:
"My GitHub username is
<your-username>. Find me a good first issue I can pick up."
If the AI runs opencollab_match_me and comes back with a list, you're set.
What you can ask
These are real things the AI can answer once OpenCollab is connected:
"My GitHub is
@octocat— find me a good first issue.""Find me a Python good-first-issue."
"How healthy is
pandas-dev/pandas? Is it worth contributing to?""What's the impact tier of contributing to
tensorflow/tensorflow?""Is issue #123 in
facebook/reactstill available, or has someone claimed it?""Plan a PR for issue #456 in
owner/repo— pull all the context the AI needs."
The AI picks which tools to call based on what you ask.
The 6 tools
Tool | What it does |
| Reads your GitHub profile, detects your top language, returns 10 matching good-first-issues — all in one call. |
| Up to 15 recent good-first-issues for a given language. |
Tool | What it does |
| 0–100 contributor-friendliness score: activity, PR merge rate, community files, forks. |
| Impact tier (LOW → MASSIVE) based on stars + reach, plus a draft resume line. |
Tool | What it does |
| Is the issue still open? Assigned? Already has a PR? Checks the timeline so you don't waste a weekend. |
| Bundles the issue body, comments, CONTRIBUTING.md, and repo layout for the AI to plan a fix. |
How it works
You ask Claude → Claude picks tools → OpenCollab hits GitHub API → JSON back to Claude → Claude answers in plain EnglishA few design choices worth knowing:
No AI inference on our end. OpenCollab is a thin wrapper over the GitHub REST API. Your AI client (Claude / Cursor / etc.) does all the reasoning. Cost to run OpenCollab: $0.
Runs locally by default. Stdio transport — no servers, no telemetry. Your token never leaves your machine.
5-minute in-memory cache. Repeat lookups in the same conversation don't re-hit GitHub. Helps stay under rate limits.
Parallel API calls. The heavy tools (
match_me,repo_health,generate_pr_plan) fan out their GitHub requests withasyncio.gather, so they're noticeably faster than sequential.Pydantic-validated inputs. Every tool input is a Pydantic model with
extra="forbid". Catches stray fields from LLM-generated tool calls before any logic runs.
Authentication & rate limits
OpenCollab needs a GitHub token for two reasons:
Higher rate limit. Authenticated requests get 5,000/hour vs 60/hour unauthenticated.
Some endpoints need auth. A few tools (
/timeline, etc.) may not work without it.
Scopes needed: just public_repo. OpenCollab never writes anything — it's all reads.
Develop
git clone https://github.com/prakhar1605/Opencollab-mcp.git
cd Opencollab-mcp
pip install -e ".[dev]"
export GITHUB_TOKEN="ghp_xxx"
# Run the server (stdio mode, for piping into MCP clients)
python -m opencollab_mcp
# Run the test suite
pytest -v
# Lint
ruff check src tests
# Inspect interactively in the MCP Inspector
npx @modelcontextprotocol/inspector python -m opencollab_mcpProject layout
src/opencollab_mcp/
├── server.py # entry point, transport selection (stdio / streamable-http)
├── github_client.py # cached httpx wrapper, friendly error mapping
├── helpers.py # date math, base64 decode, issue-number parser
├── models.py # Pydantic input models
├── constants.py # scoring thresholds & magic numbers
└── tools/
├── discovery.py # 2 tools — finding issues
├── evaluation.py # 2 tools — scoring a repo
└── issues.py # 2 tools — verifying & planning an issue
tests/ # pytest suiteContributing
Issues and PRs are welcome. The codebase is small (~1000 lines) and intentionally easy to read. Every scoring threshold lives in constants.py so tuning is a one-line change. New tools follow the same pattern: a function in tools/<category>.py, a Pydantic input model in models.py, and a test in tests/test_tools.py.
The main branch is protected — please open a PR rather than pushing directly. CI runs on Python 3.10, 3.11, and 3.12.
Roadmap
Already shipped (v0.6.0):
6 focused tools across discovery, evaluation, and issue intelligence
PyPI release (
pip install opencollab-mcp/uvx opencollab-mcp)5-minute in-memory cache + parallel API calls
pytest suite on Python 3.10/3.11/3.12 in CI
Stdio (local) and streamable-HTTP (remote) transports
Branch protection + required CI checks on
main
Open ideas:
first_pr_generator— chainmatch_me+check_issue_availability+generate_pr_planinto one prompttrack_my_prs— list your open PRs with staleness nudgesskill_gap— compare your skills to a repo's tech stack and tell you what to learn
If any of these sound interesting, open an issue — that's the fastest path in.
Why only 6 tools?
Earlier versions shipped 22. In practice:
LLMs route worse with crowded tool lists — they pick generic tools and miss the killer ones.
Most of the 22 overlapped (5 different "find issues" variants, 3 different "score this repo" variants).
The 6 that survive form a clean story: find → evaluate → verify → plan.
The full 22-tool catalogue still lives on the v1-full branch if you want it.
Contributors
@Shashank-Tripathi-07 — flagged a double-counting bug in
issue_complexity's code-block scoring, and pointed out thatmainhad no branch protection (which has since been fixed).
License
MIT — built by Prakhar Pandey, IIT Guwahati.
If OpenCollab helps you land your first PR, a ⭐ on the repo would mean a lot.
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/prakhar1605/Opencollab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server