GitPin
Provides index-free, read-only, multi-repo Git evidence for MCP agents, enabling prove-verify loops with git show.
README
GitPin
Make agent-authored changes show exact evidence before merge.
GitPin is an agent-delivery assurance gate with a local evidence MCP. It makes material PR claims cover the actual diff and point to exact committed line slices. The local MCP supplies index-free, read-only, multi-repo evidence that humans and CI can re-check with git show.
Agent claim
→ pin.search_* (candidates only)
→ pin.prove (evidence pack: path + line + full SHA + content hash)
→ pin.verify (git show re-check; HEAD match report)
→ you run: git show <sha>:<path>
| Crowded category | GitPin product |
|---|---|
| Vector / SQLite “repo context” servers | No embeddings, no DB, no reindex |
| Filesystem MCP (writes) | Never writes indexed repos |
| One-shot repo dumps | Live prove → verify MCP loop |
| Grep hits as “the answer” | Candidates → evidence pack → verification report |
| GitHub platform MCP | Local Git roots (private/offline) |
Formerly RepoContext 0.3.x. See migration.
Required PR evidence gate
gitpin gate --base <full-base-sha> --head <full-head-sha>
The gate reads policy only from the trusted base commit, reads the submitted manifest only from the head commit, compares the merge-base diff, and verifies exact line-slice hashes. It never executes PR code and never labels a locator match as proof of semantic correctness. Use the GitHub Action and CrewScore named-control setup as a required check.
Release: publish a version-matched GitPin release across npm, the MCP Registry, GitHub, and Pages before announcing. Install:
npx -y gitpin@latest. Node 20+.
GitPin is maintained by Sarosh Hussain, who leads the project's technical direction. Pendoah is his company and operating context; GitPin remains the product and repository.
Five-minute path
# From a committed Git repository
npx -y gitpin@latest init --client codex
init creates ~/.gitpin/repositories.yaml outside the repo, runs doctor, prints a first evidence line with full SHA, and paste-ready MCP config. It never edits the indexed repository.
# Independently verify any claim (same contract as pin.verify)
npx -y gitpin@latest verify \
--repository my-service \
--path docs/architecture.md \
--line 42 \
--sha <full-or-short-hex>
Product job
When agents invent file contents, mix dirty worktrees, or cite the wrong branch
You want every fact re-checkable with git show <sha>:<path>
GitPin registers local Git roots, serves HEAD-only docs/code, flags stale tracked docs, returns path / line / SHA, and closes the loop with pin.verify.
Agent tool surface (pin.*) — 12 read-only tools
| Job | Tools |
|---|---|
| Discover | pin.catalog |
| Find candidates | pin.search_docs, pin.search_code |
| Prove | pin.prove (primary), pin.prove_set (1–8 cites), pin.get_doc, pin.read |
| Verify | pin.verify, pin.verify_set |
| Decide | pin.analyze → EvidenceBrief |
| Inspect / diff | pin.inspect, pin.compare |
Resource: gitpin://catalog. Prompt: prove-with-git-head (forces the product loop).
Cite formats: docs/cite-spec.md. Agent skill template: templates/gitpin-skill.md.
Functionality that is the pivot (not a rename)
- Evidence pack (
pin.prove): claim binding, line slice, full SHA,contentSha256,citation.cite/handle, next-step verify. - Multi-cite sets (
pin.prove_set/pin.verify_set): stableevidenceSetIdfor multi-repo answers and CI. - Verification report (
pin.verify/ CLI): independentgit show; optionalmustContainclaim-text; status includescontradicted. - Candidates, not claims: search returns
kind: evidence-candidateswith forcednext: pin.prove. - EvidenceBrief: multi-repo knownFacts / gaps / stable
evidenceSetId(schema v2). - Dirty exclusion: uncommitted work is never cited as HEAD evidence.
Explicit non-goals
- Semantic / embedding search
- Writing, committing, or pushing
- Replacing GitHub Issues/PRs automation
- Indexing non-Git umbrella folders as one “repo”
Configuration
| Variable | Purpose |
|---|---|
GITPIN_REGISTRY |
Registry YAML path (alias: REPOCONTEXT_REGISTRY) |
GITPIN_MCP_TOKEN |
HTTP bearer token (alias: REPOCONTEXT_MCP_TOKEN) |
GITPIN_ALLOWED_HOSTS |
HTTP host allowlist (alias: REPOCONTEXT_ALLOWED_HOSTS) |
Default registry: ~/.gitpin/repositories.yaml (falls back to ~/.repocontext/... if present).
Docs
Tools · Compare · FAQ · Migration · Clients · Architecture · Competitive landscape
Site: shmindmaster.github.io/gitpin. GitPin is the canonical product and repository name; legacy repocontext references exist only for migration compatibility.
Development
corepack enable
pnpm install --frozen-lockfile
pnpm validate
pnpm build
pnpm verify:package
pnpm site:test
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.