mcpField
P
ProvenPin

ProvenPin

Remote
provenpin.comDeveloper Tools1Updated today

About ProvenPin

ProvenPin is a hosted recipe service for coding agents, with tested, version-pinned examples for multiple libraries. Each recipe includes its latest test receipt, and only recipes currently passing are served.

Key features

  1. 01Search tested code recipes
  2. 02Pin exact library versions
  3. 03Run recipe tests in isolation
  4. 04Track last-passed receipts
  5. 05Retest after library releases

Use cases

  1. 01Find a tested Next.js Stripe webhook recipe
  2. 02Give coding agents version-pinned examples
  3. 03Check whether a recipe still passes
  4. 04Browse recipes by stack or language

MCP support

The hosted MCP server provides `search_recipes`, `get_recipe` and `list_stacks`. It serves recipes that are currently passing and requires no API key or signup.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.provenpin.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

3
ParameterTypeRequiredDescription
limitintegerNo
querystringYesWhat you are wiring together, in plain words or library names, e.g. 'django rest api' or 'rq redis jobs'.
stackarrayNoOnly recipes that use all of these libraries.
languageenumNotypescript | python
versionsobject|stringNoOptional but recommended: the versions in the user's project, so results are checked against them. Either a map like {"next": "15.2.0", "zod": "3.23.8"} or the raw text of package.json, package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock or uv.lock (max 200KB). Used only for this call, never stored.

Details

From the project README
ProvenPin: tested code recipes built to help free and cheap AI models write working code

Website · Free models · Outside test · Install · Receipts feed

ProvenPin

Tested, version-pinned, multi-library code recipes built to help free and cheap AI models write working code, served over MCP.

Every recipe pins exact versions, runs its own tests in a clean environment, and carries a receipt with the time it last passed. Recipes are re-tested automatically when any of their libraries ships a new release. The MCP server only serves recipes that are currently passing.

Install

ProvenPin is a hosted MCP server. No API key, no signup.

Endpoint: https://mcp.provenpin.com/mcp

Claude Code

claude mcp add --transport http provenpin https://mcp.provenpin.com/mcp

Add --scope user to load it in every project, not just the current one.

Cursor (~/.cursor/mcp.json)

{ "mcpServers": { "provenpin": { "url": "https://mcp.provenpin.com/mcp" } } }

Cursor one-click install link (open it on a machine with Cursor installed):

cursor://anysphere.cursor-deeplink/mcp/install?name=provenpin&config=eyJ1cmwiOiJodHRwczovL21jcC5wcm92ZW5waW4uY29tL21jcCJ9

OpenCode (opencode.json in the project root)

{ "$schema": "https://opencode.ai/config.json", "mcp": { "provenpin": { "type": "remote", "url": "https://mcp.provenpin.com/mcp", "enabled": true } } }

VS Code (.vscode/mcp.json)

{ "servers": { "provenpin": { "type": "http", "url": "https://mcp.provenpin.com/mcp" } } }

Windsurf (~/.codeium/windsurf/mcp_config.json)

{ "mcpServers": { "provenpin": { "serverUrl": "https://mcp.provenpin.com/mcp" } } }

Cline (MCP settings)

{ "mcpServers": { "provenpin": { "type": "streamableHttp", "url": "https://mcp.provenpin.com/mcp" } } }

Then ask your agent something like "find a tested recipe for a Next.js Stripe webhook".

MCP tools

toolwhat it does
search_recipesfind passing recipes by plain words, stack filter or language
get_recipefull files, pinned versions, setup and test commands, and the receipt
list_stackslibraries that have tested recipes, with counts
recipes/   one folder per recipe (see SPEC.md)
runner/    validate, run tests in isolation, write receipts, release check, build index
receipts/  real test receipts (JSON)
index/     built index.json served by the MCP server
server/    MCP server (TypeScript, Cloudflare Workers, local dev mode)
.github/   CI: matrix per recipe, scheduled + on demand, release-triggered re-tests

Run locally (Node 22+, Python 3.13 and uv for Python recipes)

npm install
npm run validate                 # check manifests and pins
npm run test:recipes             # run every recipe, write receipts
node runner/run.mjs hono-zod-validator   # run one
node runner/typecheck.mjs hono-zod-validator   # tsc --noEmit on a TypeScript recipe (CI runs it on touched recipes)
npm run affected                 # recipes with newer upstream releases
npm run build:index              # build index/index.json
npm test                         # runner unit tests

cd server && npm install
npm test                         # MCP server unit tests
npm run dev                      # http://localhost:8787/mcp

Connect a client to the local server, for example in Claude Code:

claude mcp add --transport http provenpin http://localhost:8787/mcp

Pro API keys (groundwork, off by default): the free tier needs no key. When PROVENPIN_PRO_ENABLED is "true", a valid Authorization: Bearer <key> header marks the caller as Pro. Keys come from the PROVENPIN_API_KEYS secret or the PRO_KEYS KV namespace (entries key:<sha256 of key>). Usage events record only the tier (free or pro), never the key.

Receipts feed

https://mcp.provenpin.com/receipts.json (also index/receipts.json, rebuilt with the index) lists every recipe:

FieldMeaning
id, languageRecipe id and language
pinnedExact versions the recipe was tested with
runtimeRuntime of the last test run, for example node v22.23.3
statuspassed, failed, setup_failed, invalid, stale (code changed since the last run) or untested
last_passed_atWhen the tests last passed on the pinned versions (UTC)
run_urlGitHub Actions run that produced the current receipt
stalenessWeekly re-test with stack libraries bumped to latest: status (current, passes_on_latest, breaks_on_latest, deprecated_upstream (every stable release of a stack library is deprecated on npm), error or unchecked), checked_at, latest versions tried, run_url

The staleness check (.github/workflows/staleness.yml) runs weekly in a temp copy. It never edits a recipe or its receipt, and it lists recipes that break on latest in one GitHub issue.

Deploy your own

  1. Push this repo to a GitHub account for the brand.
  2. In Cloudflare: create an API token with "Edit Cloudflare Workers", add CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID as repo secrets, set repo variable DEPLOY_ENABLED=true.
  3. cd server && npx wrangler deploy (or let CI do it), then route mcp.<domain> to the worker.

License

MIT. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.