Contribution research for agents: check repository guidance, related work, code context, and validation before writing a patch.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add gitcontribute -- npx -y --yes{
"mcpServers": {
"gitcontribute": {
"command": "npx",
"args": ["-y", "--yes"]
}
}
}MCP Servers overview
<div align="center">
# GitContribute
Contribution research for agents: check repository guidance, related work, code context, and validation before writing a patch.
[](https://github.com/morluto/gitcontribute/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/gitcontribute)
[](https://go.dev/)
[](LICENSE)
[](#platform-support)
[Quick start](#quick-start) · [Workflow](#contribution-workflow) · [CLI](#cli) · [MCP](#mcp) · [Safety](#side-effect-boundaries) · [Documentation](#documentation)

</div>
`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:
```sh
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:
| Task | Coding agent | CLI |
| --- | --- | --- |
| Find candidates | `Find contribution candidates in owner/repo. Rank them by contribution fit, evidence, scope, and coordination risk.` | `gitcontribute archive sync owner/repo`<br>`gitcontribute radar owner/repo --limit 10` |
| Research an issue | `Investigate owner/repo#42. Check guidance, discussion, code, prior fixes, competing work, and missing evidence.` | `gitcontribute archive sync owner/repo --numbers 42`<br>`gitcontribute research brief issue:owner/repo#42` |
Results include source references, coverage gaps, and suggested next steps.
<details>
<summary><strong>Other installation options</strong></summary>
Install a persistent command:
```sh
npm install --global gitcontribute@latest
gitcontribute setup
```
Pin GitContribute to a project:
```sh
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`.
</details>
## 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](docs/mcp.md) 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](docs/actor-corpus.md) for the data and freshness model.
## Side-effect boundaries
GitContribute separates corpus reads, GitHub reads, local writes, process
execution, and external mutation.
| Operation | Network | Local write | Runs a process | GitHub write |
| --- | :---: | :---: | :---: | :---: |
| Search and inspect stored research | No | No | No | No |
| Record investigations and evidence | No | Yes | No | No |
| Sync or hydrate GitHub context | Yes | Yes | No | No |
| Acquire and index code | Yes | Yes | `git` only | No |
| Run an explicitly approved validation | No by default | Yes | Yes | No |
- 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](docs/architecture.md) for the complete boundary definitions.
## Documentation
- [Onboarding and configurWhat people ask about gitcontribute
What is morluto/gitcontribute?
+
morluto/gitcontribute is mcp servers for the Claude AI ecosystem. Contribution research for agents: check repository guidance, related work, code context, and validation before writing a patch. It has 3 GitHub stars and its last recorded update is dated 2026-09-09.
How do I install gitcontribute?
+
You can install gitcontribute by cloning the repository (https://github.com/morluto/gitcontribute) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is morluto/gitcontribute safe to use?
+
Our security agent has analyzed morluto/gitcontribute and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains morluto/gitcontribute?
+
morluto/gitcontribute is maintained by morluto. The last recorded GitHub activity is dated 2026-09-09, with 7 open issues.
Are there alternatives to gitcontribute?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy gitcontribute to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/morluto-gitcontribute)<a href="https://claudewave.com/repo/morluto-gitcontribute"><img src="https://claudewave.com/api/badge/morluto-gitcontribute" alt="Featured on ClaudeWave: morluto/gitcontribute" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!