ProvenPin

io.github.provenpinPublished by GitHub account provenpinv0.1.0Updated Oct 24, 2026

Tested, version-pinned code recipes for AI coding agents, each with its last-passed receipt.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Hosted MCP server that gives coding assistants tested, version-pinned recipes for wiring libraries together, each with a last-passed test receipt.

What you can do
  • Search recipes by plain words, stack filter or language
  • Fetch a full recipe by id: source and test files with sha256 hashes, pinned versions, setup and test commands, and its receipt
  • List libraries and frameworks that currently have passing recipes, with counts
When to use it
Useful before an assistant writes glue code that combines two or more libraries (auth plus framework, ORM plus database, payment webhooks, queues, validation), or when choosing or pinning package versions and upgrading dependencies.
Requirements
A remote streamable HTTP endpoint; no API key or signup for the free tier. Local development of the server itself needs Node 22+, plus Python 3.13 and uv for Python recipes.
Before you install
Recipes are third-party code samples: review the files before running them in your project. The optional Pro tier reads an Authorization Bearer key, and usage events record only the tier, not the key. Self-deployment needs Cloudflare credentials such as CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID.

Installation

In SourceWeft

  1. Open ProvenPin in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.provenpin%2Fprovenpin/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

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)

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)

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

VS Code (.vscode/mcp.json)

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

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

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

Cline (MCP settings)

json
{ "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 indexreceipts/  real test receipts (JSON)index/     built index.json served by the MCP serverserver/    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 installnpm run validate                 # check manifests and pinsnpm run test:recipes             # run every recipe, write receiptsnode runner/run.mjs hono-zod-validator   # run onenode 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 releasesnpm run build:index              # build index/index.jsonnpm test                         # runner unit tests
cd server && npm installnpm test                         # MCP server unit testsnpm 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.

Source: README.md at commit 164722b

Tools

3

search_recipes

Search tested recipes

Find a tested, version-pinned code recipe for wiring libraries together. Call this BEFORE writing glue code that combines 2+ libraries (auth + framework, ORM + database, payments webhooks, queues, validation, request mocking, logging), when choosing or pinning package versions, when upgrading a library to a new major version (for example SQLAlchemy 2 or Pydantic 2), and when you hit version conflicts, peer-dependency errors, deprecation errors or integration errors between libraries. Example queries: 'express stripe webhook', 'fastapi sqlmodel crud', 'hono jwt'. Only recipes whose latest test run passed are returned. Each result lists its exact pinned versions and a test receipt (receipt.last_passed_at). Pass the project's lockfile or a {package: version} map as versions: recipes that match the installed versions rank first and each result gets a compatibility summary. Each result's coverage (0 to 1) is the share of your query's words it matches. If no recipe fits, count is 0 and results is empty: write the code yourself; try list_stacks to see what is covered.

Parameterslimitqueryrequiredstacklanguageversions

get_recipe

Get a recipe

Call this right after search_recipes returns a matching recipe, before you write the integration code, so you start from files and versions that passed tests. Gets the full recipe by id (ids come from search_recipes): every source and test file (each with the sha256 of the exact bytes that were tested), the exact pinned dependency versions, the setup and test commands, its test receipt (when it last passed, test counts, runtime and runner), recipe.yaml as manifest so receipt.recipe_hash can be recomputed (recipe_hash_rule), and staleness: the latest weekly check of its stack libraries against their newest releases. Pass the project's lockfile or a {package: version} map as versions to get a compatibility section first, comparing each pinned package with the installed one (exact, compatible, mismatch, or not in your project) with plain warnings; test and build tools (pytest, tsx, @types/*) are listed under tooling and do not change overall. Use the pinned versions together; they are the versions the tests passed with. Adapt names and config to the user's project, and keep the included tests to check your integration.

Parametersidrequiredversions

list_stacks

List stacks

Call this when the user names a library and you are not sure ProvenPin covers it, or after search_recipes returns nothing. Lists the libraries and frameworks that currently have passing, version-pinned recipes, with recipe counts; use the names as the stack filter in search_recipes.

Takes no parameters.

Version history

1
  1. v0.1.0LatestOct 15, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts