loading…
Search for a command to run...
loading…
Enables developers to find personalized open-source contributions by analyzing GitHub profiles and matching them with relevant 'good first issues' and beginner-
Enables developers to find personalized open-source contributions by analyzing GitHub profiles and matching them with relevant 'good first issues' and beginner-friendly repositories. Provides comprehensive contribution tooling including repository health scoring, setup difficulty assessment, impact estimation, and automated PR planning.
Stop scrolling GitHub. Let AI find you a mergeable issue in 30 seconds — matched to your actual skills, in a repo that's actually alive.
PyPI version Python 3.10+ CI MIT License MCP Compatible
Works with Claude Desktop · Cursor · VS Code · any MCP client
You want to contribute to open source. So you:
This loop is broken. OpenCollab fixes it in one sentence to your AI assistant.
"Find me a good first issue I can contribute to this weekend."
Claude calls OpenCollab → scans your GitHub profile → picks your strongest language → finds beginner-friendly issues in active repos with no existing PR → hands you the issue + full context to draft the fix.
One sentence. A real mergeable issue.
github.com/settings/tokens → Generate new token (classic) → check public_repo → copy.
Edit your config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd this:
{
"mcpServers": {
"opencollab": {
"command": "uvx",
"args": ["opencollab-mcp"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
Restart Claude Desktop. Done.
Add to .cursor/mcp.json or your VS Code MCP config:
{
"mcpServers": {
"opencollab": {
"command": "uvx",
"args": ["opencollab-mcp"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
pip install opencollab-mcp
Then in your MCP config:
{
"mcpServers": {
"opencollab": {
"command": "opencollab-mcp",
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
docker build -t opencollab-mcp .
docker run -e GITHUB_TOKEN=ghp_xxx -p 8000:8000 opencollab-mcp
The container defaults to TRANSPORT=streamable-http on port 8000 and runs as a non-root user.
1️⃣ Analyze me
"My GitHub username is
prakhar1605. Am I ready to contribute to open source?"Readiness: 72/100. You know 4 languages, 15 public repos, haven't opened PRs yet. Tips: start with a docs fix, try a repo you already use.
2️⃣ Find me a mergeable issue
"Find me a Python good-first-issue I can finish in 1–2 hours. Make sure nobody's working on it."
Returns 5 issues · filters out ones with assignees or linked PRs · sorts by "quickness score" (short body, few comments, easy label).
3️⃣ Plan the PR
"Plan a PR for issue #456 in
owner/repo."Pulls the issue body, comments, CONTRIBUTING.md, the repo's directory structure, and the default branch — hands Claude everything needed to draft the actual code.
That's the whole loop: Analyze → Find → Plan → Ship.
| You say… | What happens |
|---|---|
| "Is issue #123 in facebook/react still available?" | ✅ No assignees, no open PRs. 3 comments, 12 days old. Go for it. |
| "Compare langchain vs llama_index for contributing." | Side-by-side: stars, PR merge rate, activity. Recommends winner. |
| "Is tensorflow/tensorflow alive?" | 847 commits in last 30 days. Growing +23%. Safe to invest time. |
| "How complex is issue #5432 in pytorch?" | 7/10 · Advanced. 12 comments, architecture label. Skip unless you know the codebase. |
| "Find Python repos with GSoC or Hacktoberfest." | Mentored repos sorted by mentor signals. |
| "What dependencies does fastapi use?" | Reads pyproject.toml → starlette, pydantic, uvicorn. |
| "What's the impact of contributing to react?" | 🎯 MASSIVE · 230k+ stars · Resume line: "Contributed to a project used by millions of devs." |
| Tool | Does |
|---|---|
opencollab_match_me |
All-in-one — profile analysis + matched issues |
opencollab_find_issues |
Good-first-issues for any language |
opencollab_trending_repos |
Trending repos seeking contributors |
opencollab_similar_repos |
Find repos like one you already like |
opencollab_find_mentor_repos |
GSoC · Hacktoberfest · Outreachy repos |
opencollab_weekend_issues |
1–2 hour issues — docs, typos, tests |
| Tool | Does |
|---|---|
opencollab_repo_health |
Health score 0–100 |
opencollab_contribution_readiness |
Setup difficulty (Dockerfile, CI, docs) |
opencollab_impact_estimator |
Impact tier + resume line |
opencollab_repo_activity_pulse |
30-day momentum — growing? dying? |
opencollab_compare_repos |
Two repos side-by-side + winner |
opencollab_repo_languages |
Language % breakdown |
opencollab_dependency_check |
Tech stack — what libs the project uses |
| Tool | Does |
|---|---|
opencollab_analyze_profile |
Deep profile analysis |
opencollab_first_timer_score |
Open source readiness 0–100 + tips |
opencollab_contributor_leaderboard |
Top contributors of any repo |
| Tool | Does |
|---|---|
opencollab_check_issue_availability |
Is this issue still free? |
opencollab_issue_complexity |
Difficulty 1–10 |
opencollab_stale_issue_finder |
Old unclaimed issues — hidden wins |
opencollab_label_explorer |
All labels + beginner-friendly ones |
opencollab_recent_prs |
Recently merged PRs — what gets accepted |
opencollab_generate_pr_plan |
Full context for PR planning |
You ask Claude → Claude calls OpenCollab tools → Tools hit GitHub's free API → Data flows back → Claude reasons over it → You get a real, specific answer
OpenCollab is a data bridge, not an AI. Your AI assistant does the thinking. That means:
This project is itself a great first contribution target.
git clone https://github.com/prakhar1605/Opencollab-mcp.git
cd Opencollab-mcp
pip install -e ".[dev]"
export GITHUB_TOKEN="your_token_here"
# Run the server
python -m opencollab_mcp
# Run the tests
pytest
# Lint
ruff check src tests
# Or test interactively with the MCP Inspector:
npx @modelcontextprotocol/inspector python -m opencollab_mcp
src/opencollab_mcp/
├── server.py # entry point, transport selection
├── github_client.py # cached HTTP wrapper with friendly errors
├── helpers.py # days_ago, truncate, parse_issue_number, …
├── models.py # Pydantic input models
├── constants.py # all magic numbers / thresholds
└── tools/
├── discovery.py # 6 matching tools
├── evaluation.py # 7 scoring tools
├── issues.py # 6 issue-intelligence tools
└── profile.py # 3 readiness tools
Check open issues labelled good first issue.
uvx opencollab-mcp works out of the boxfirst_pr_generator — one-shot "find + plan + draft my first PR"track_my_prs — dashboard of your open PRs with staleness nudgesskill_gap — compare your skills vs a target repo's stackGot an idea? Open an issue — that's the fastest path in.
MIT — see LICENSE.
Built with ❤️ by Prakhar Pandey · IIT Guwahati
⭐ Star this repo if OpenCollab helps you land a PR. ⭐ It's the single biggest thing you can do to help other devs discover it.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"opencollab-mcp": {
"command": "npx",
"args": []
}
}
}