Gitcontribute logo

Gitcontribute

Local-first GitHub contribution research workbench

Install Gitcontribute

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "gitcontribute": {
      "command": "npx",
      "args": [
        "--yes",
        "gitcontribute@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx --yes gitcontribute@latest

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 11d ago.

Overview

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 22h ago via OSV.dev · gitcontribute@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars26Stargazers on the source repository.
npm downloads480Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

GitContribute

Contribution research for agents: check repository guidance, related work, code context, and validation before writing a patch.

CI npm Go License Platforms

Quick start · Workflow · CLI · MCP · Safety · Documentation

GitContribute contribution workbench

gitcontribute is available as a CLI, terminal UI, and MCP server for coding agents.

GitHub can show you open issues. It cannot tell you whether an issue is still relevant, already being implemented, appropriate for an outside contributor, or supported by enough evidence to work on safely.

GitContribute collects repository guidance, related issues and pull requests, code context, accepted contribution patterns, and validation results in a local SQLite corpus. Results identify missing or stale coverage.

text
find work -> understand it -> check competing work -> prove the change -> prepare the handoff

[!IMPORTANT] GitContribute never writes to GitHub. It prepares local research and drafts for you to review.

Quick start

Run the guided setup with Node.js 18 or newer:

Terminal
npx --yes gitcontribute@latest setup

Choose MCP to use GitContribute from a supported coding agent, CLI for the terminal and TUI, or Both. The wizard shows every planned change before applying it. Adding a repository during setup does not contact GitHub or start a sync.

After setup, start with a repository or an exact issue:

TaskCoding agentCLI
Find candidatesFind contribution candidates in owner/repo. Rank them by contribution fit, evidence, scope, and coordination risk.gitcontribute archive sync owner/repo
gitcontribute radar owner/repo --limit 10
Research an issueInvestigate owner/repo#42. Check guidance, discussion, code, prior fixes, competing work, and missing evidence.gitcontribute archive sync owner/repo --numbers 42
gitcontribute research brief issue:owner/repo#42

Results include source references, coverage gaps, and suggested next steps.

Other installation options

Install a persistent command:

Terminal
npm install --global gitcontribute@latest
gitcontribute setup

Pin GitContribute to a project:

Terminal
npm install --save-dev gitcontribute
npm exec -- gitcontribute setup --mode mcp --codex --token-source none --yes

Build from source with Go 1.26 or newer:

sh
go install github.com/morluto/gitcontribute/cmd/gitcontribute@latest

Native npm binaries are included for macOS ARM64/x64, Linux ARM64/x64, and Windows x64. You also need git. The gh CLI is optional and can provide authentication through gh auth token.

Contribution workflow

1. Find a candidate

Search a repository or rank its open issues by available evidence, scope, risks, blockers, and signs that maintainer coordination is needed.

text
Find contribution candidates in golang/go. Exclude issues with active
implementation work and explain why each remaining candidate is worth
investigating.

The ranking only covers stored observations. Results report incomplete coverage.

2. Research an issue

Build a research brief from the issue, repository guidance, discussion, linked work, indexed code, and historical contributions. Extracted maintainer text and checkboxes are not presented as complete acceptance criteria.

text
Investigate issue owner/repo#42. Summarize the confirmed problem, likely scope,
relevant code, maintainer guidance, and open questions.

3. Check related work

Look for duplicate reports, linked pull requests, closing relationships, and semantically overlapping work before investing in an implementation.

text
Check whether owner/repo#42 has duplicate reports or competing implementation
work. Tell me what you checked and identify any missing coverage.

Incomplete coverage is reported instead of being treated as proof that no competing work exists. In the MCP workflow, follow the returned typed recovery action, poll the durable job, and reread the affected exact thread or repository before drawing that conclusion.

4. Validate a change

Record a reproduction, test, benchmark, or other validation and compare the unmodified baseline with a candidate. Validation commands run only after explicit approval.

text
Validate my candidate change against the baseline. Run the approved checks,
record both results, and explain whether the evidence supports the change.

Stored runs include the command, outcome, timing, and available process metrics.

5. Prepare a draft

Create a local issue, pull-request, or review draft tied to the research and validation evidence already collected.

text
Prepare a pull-request draft for this contribution. Tie its claims to the
recorded evidence, include the validation results, and do not post anything.

Draft revisions retain their exact rendered bytes and provenance.

Interfaces and storage

GitContribute stores repositories, threads, code snapshots, investigations, evidence, validation results, and contribution outcomes in SQLite. Network access is explicit; once information has been synced, corpus search and inspection work offline.

text
 GitHub read APIs                  Local checkout
       |                                |
       | explicit sync / hydrate        | explicit index / acquire
       v                                v
  +------------------------------------------------+
  |              Local SQLite corpus               |
  | observations · coverage · evidence · outcomes  |
  +------------------------+-----------------------+
                           | offline reads
                 +---------+---------+
                 v                   v
              CLI / TUI          Coding agents

The CLI and MCP server use the same application services and side-effect boundaries.

CLI

The CLI exposes the same workflow without requiring an MCP client:

sh
# Sync repository context and current threads
gitcontribute archive sync-context owner/repo
gitcontribute archive sync owner/repo

# Find and inspect contribution candidates
gitcontribute radar owner/repo --limit 10
gitcontribute research brief issue:owner/repo#42

# Search stored threads and indexed code
gitcontribute search threads "connection timeout" --repo owner/repo
gitcontribute search code "context.WithTimeout" --repo owner/repo

For implementation work:

sh
gitcontribute investigation start-thread issue:owner/repo#42 --json
gitcontribute workspace create <investigation-id>
gitcontribute validation define --kind=test --command="go test ./..." \
  --working-dir=/path/to/workspace <investigation-id>
gitcontribute validation run <validation-id> --kind=base --execute
gitcontribute validation run <validation-id> --kind=candidate --execute
gitcontribute validation compare <base-run-id> <candidate-run-id>
gitcontribute readiness opportunity <opportunity-id>
gitcontribute prepare pr --approach="Bound retries with context" \
  --workspace <workspace-id> <opportunity-id>

Run gitcontribute --help or gitcontribute <command> --help for the complete command and flag reference. Most non-interactive commands accept --json; machine-readable output goes to stdout and progress goes to stderr.

Launch the local TUI with:

sh
gitcontribute tui

MCP

The MCP server advertises one unified catalog. Hosts such as Codex and Claude Code can discover large MCP catalogs with native tool search, so setup does not ask users to choose permanent capability profiles.

sh
gitcontribute setup --mode mcp --codex --token-source none --yes
gitcontribute setup --mode mcp --all-clients --token-source none --yes

To start the stdio server directly:

sh
gitcontribute mcp serve --transport=stdio

Add --read-only to remove tools that permit network access, local writes, or execution. See MCP catalog and composition for capability boundaries, snapshot recovery, resource handoffs, and common tool sequences.

GitHub users are stored as first-class actors. Live discovery records identity only; profile, social-account, organization, pinned-item, repository, and contribution facts are synchronized independently. See the actor corpus for the data and freshness model.

Side-effect boundaries

GitContribute separates corpus reads, GitHub reads, local writes, process execution, and external mutation.

OperationNetworkLocal writeRuns a processGitHub write
Search and inspect stored researchNoNoNoNo
Record investigations and evidenceNoYesNoNo
Sync or hydrate GitHub contextYesYesNoNo
Acquire and index codeYesYesgit onlyNo
Run an explicitly approved validationNo by defaultYesYesNo
  • Corpus reads never fetch data.
  • Crawling and indexing never execute repository-controlled code.
  • Explicit validation commands run on your host with your user permissions.
  • GitContribute has no GitHub mutation capability.
  • There is no hosted corpus or product telemetry.

See Architecture for the complete boundary definitions.

Documentation

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Gitcontribute

gitcontribute is an MCP server that gives coding agents a local-first workbench for researching GitHub contributions before writing a patch. It collects repository guidance, related issues and pull requests, code context, accepted contribution patterns, and validation results in a local SQLite corpus, while preparing research and drafts without writing to GitHub.

Run `npx --yes gitcontribute@latest setup`, choose MCP, and follow the guided setup for your supported coding agent. The wizard shows planned changes before applying them, and adding a repository does not contact GitHub or start a sync.

No, gitcontribute never writes to GitHub. It prepares local research and drafts for review, while collecting contribution evidence in a local SQLite corpus.

gitcontribute can research an issue using repository guidance, discussion, linked work, indexed code, historical contribution patterns, and validation results. Results include source references, coverage gaps, and suggested next steps.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGitcontribute AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/gitcontribute?style=directory)](https://allmcps.com/mcp/gitcontribute)
HTML Embed
<a href="https://allmcps.com/mcp/gitcontribute"><img src="https://allmcps.com/api/badge/gitcontribute?style=directory" alt="Gitcontribute on AllMCPs" /></a>