关于 ProvenPin
ProvenPin 是面向编码 Agent 的托管配方服务,提供经过测试并固定版本的多库代码示例。每个配方附有最近测试收据,服务端仅提供当前测试通过的配方。
主要功能
- 01搜索已测试代码配方
- 02固定精确库版本
- 03隔离运行配方测试
- 04记录最近通过收据
- 05库发布后重新测试
适用场景
- 01查找已测试的 Next.js Stripe webhook 配方
- 02为编码 Agent 提供固定版本示例
- 03检查配方是否仍通过测试
- 04按技术栈或语言浏览配方
MCP 相关
托管 MCP 服务提供 `search_recipes`、`get_recipe` 和 `list_stacks` 工具,仅提供当前测试通过的配方,且无需 API 密钥或注册。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.provenpin.com/mcpclaude mcp add --transport http provenpin-provenpin https://mcp.provenpin.com/mcp{"mcpServers":{"provenpin-provenpin":{"type":"http","url":"https://mcp.provenpin.com/mcp"}}}在 Cursor 中打开{"servers":{"provenpin-provenpin":{"type":"http","url":"https://mcp.provenpin.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"provenpin-provenpin":{"type":"http","url":"https://mcp.provenpin.com/mcp"}}}{"mcpServers":{"provenpin-provenpin":{"serverUrl":"https://mcp.provenpin.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
3| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| query | string | 是 | 用通俗语言或库名称描述要连接的内容,例如 'django rest api' 或 'rq redis jobs'。 |
| stack | array | 否 | 仅包含使用所有这些库的方案。 |
| language | enum | 否 | typescript | python |
| versions | object|string | 否 | 可选但建议提供:用户项目中使用的版本,以便根据这些版本检查结果。可以是类似 {"next": "15.2.0", "zod": "3.23.8"} 的映射,也可以是 package.json、package-lock.json、pnpm-lock.yaml、yarn.lock、requirements.txt、poetry.lock 或 uv.lock 的原始文本(最大 200KB)。仅用于本次调用,不会存储。 |
详细介绍
网站 · 免费模型 · 外部测试 · 安装 · 测试记录动态
ProvenPin
经过测试、固定版本的多库代码配方,通过 MCP 提供,旨在帮助免费和低价 AI 模型编写可运行的代码。
每个配方都固定了确切版本,会在干净的环境中运行自身测试,并附带一份记录,注明最近一次通过测试的时间。配方所用的任何库发布新版本时,系统都会自动重新测试。MCP 服务仅提供当前通过测试的配方。
安装
ProvenPin 是托管式 MCP 服务。无需 API 密钥,也无需注册。
端点:https://mcp.provenpin.com/mcp
Claude Code
claude mcp add --transport http provenpin https://mcp.provenpin.com/mcp
添加 --scope user,即可在每个项目中加载,而不仅限于当前项目。
Cursor(~/.cursor/mcp.json)
{ "mcpServers": { "provenpin": { "url": "https://mcp.provenpin.com/mcp" } } }
Cursor 一键安装链接(请在安装了 Cursor 的机器上打开):
cursor://anysphere.cursor-deeplink/mcp/install?name=provenpin&config=eyJ1cmwiOiJodHRwczovL21jcC5wcm92ZW5waW4uY29tL21jcCJ9
OpenCode(项目根目录中的 opencode.json)
{ "$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 设置)
{ "mcpServers": { "provenpin": { "type": "streamableHttp", "url": "https://mcp.provenpin.com/mcp" } } }
然后向你的 Agent 提出类似“查找一个经过测试的 Next.js Stripe webhook 配方”的请求。
MCP 工具
| 工具 | 功能 |
|---|---|
search_recipes | 按普通词语、技术栈筛选条件或语言查找通过测试的配方 |
get_recipe | 完整文件、固定版本、设置和测试命令,以及测试记录 |
list_stacks | 有经过测试配方的库及其数量 |
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
在本地运行(Node 22+、Python 3.13;运行 Python 配方需安装 uv)
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
将客户端连接到本地服务,例如在 Claude Code 中:
claude mcp add --transport http provenpin http://localhost:8787/mcp
Pro API 密钥(基础架构已就绪,默认关闭):免费套餐无需密钥。当 PROVENPIN_PRO_ENABLED 为 "true" 时,有效的 Authorization: Bearer <key> 标头会将调用者标记为 Pro。密钥来自 PROVENPIN_API_KEYS 密钥或 PRO_KEYS KV 命名空间(条目为 key:<sha256 of key>)。使用情况事件只记录套餐(free 或 pro),绝不记录密钥。
测试记录动态
https://mcp.provenpin.com/receipts.json(也包括 index/receipts.json,随索引一同重建)列出每个配方:
| 字段 | 含义 |
|---|---|
id、language | 配方 ID 和语言 |
pinned | 测试配方时使用的确切版本 |
runtime | 最近一次测试运行所用的运行时,例如 node v22.23.3 |
status | passed、failed、setup_failed、invalid、stale(自上次运行后代码有更改)或 untested |
last_passed_at | 测试在固定版本上最近一次通过的时间(UTC) |
run_url | 生成当前测试记录的 GitHub Actions 运行链接 |
staleness | 每周将技术栈库升级到最新版本后重新测试:status(current、passes_on_latest、breaks_on_latest、deprecated_upstream(技术栈库的每个稳定版本都在 npm 上被弃用)、error 或 unchecked)、checked_at、尝试过的 latest 版本、run_url |
过时状态检查(.github/workflows/staleness.yml)每周都会在临时副本中运行。它绝不会修改配方或其测试记录,并会在一个 GitHub 问题中列出在最新版本上无法正常运行的配方。
部署自己的实例
- 将此仓库推送到品牌的 GitHub 账户。
- 在 Cloudflare 中:创建一个具有“Edit Cloudflare Workers”权限的 API 令牌,将
CLOUDFLARE_API_TOKEN和CLOUDFLARE_ACCOUNT_ID添加为仓库机密,并将仓库变量DEPLOY_ENABLED=true设为启用。 - 执行
cd server && npx wrangler deploy(或让 CI 执行),然后将mcp.<domain>路由到该 Worker。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。