mcpField
P
proof-of-commitment

proof-of-commitment

远程服务
poc-backend.amdal-dev.workers.dev安全83 周前更新

关于 proof-of-commitment

proof-of-commitment 为 npm、PyPI、Cargo、Go 包及 GitHub 仓库评估基于行为信号的供应链风险。开发者可通过 MCP 服务、命令行工具和网页工具检查依赖及维护者集中度,补充漏洞公告之外的风险评估。

主要功能

  1. 01评估软件包和仓库的行为信号
  2. 02审计依赖清单与依赖树
  3. 03检查 npm、PyPI、Cargo 和 Go 包
  4. 04生成 SARIF 与 CI 审计结果
  5. 05安装拦截软件包安装的钩子
  6. 06查询企业和维护者信号

适用场景

  1. 01在项目审计中检查依赖风险
  2. 02拦截编码 Agent 发起的软件包安装
  3. 03将供应链检查加入 CI 工作流
  4. 04检查 GitHub 仓库的依赖

MCP 相关

提供 12 个 MCP 工具,用于审计软件包、依赖树和 GitHub 仓库,并查询软件包及企业信息。MCP 客户端可查询 npm、PyPI、Cargo 和 Go 的风险评分。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://poc-backend.amdal-dev.workers.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmproof-of-commitment1.36.0

工具

12
参数类型必填说明
domainstring是要查询的域名(例如 'example.com')。将规范化为不含协议或路径的小写形式。

详细介绍

承诺度评估

Commitment Score npm downloads Mentioned in Awesome MCP Servers

Star 数会说谎,行为信号不会。

一个 MCP 服务和 Web 工具,可根据行为承诺度为 npm 包、PyPI 包、Rust crate、Go 模块和 GitHub 仓库评分——这些信号比 Star 数、README 或下载量更难造假。

$ npx proof-of-commitment axios zod chalk lodash minimatch
Scoring 5 npm packages... done in 3.0s

Package      Risk          Score   Publishers   Downloads      Age    Provenance
chalk        🔴 CRITICAL   72      1            432.9M/wk      14.6y  —
minimatch    🔴 CRITICAL   78      1            634.1M/wk      14.9y  —
lodash       🔴 CRITICAL   80      1            158.9M/wk      14.1y  —
zod          🔴 CRITICAL   83      1            161.2M/wk      6.3y   🔐 verified
axios        🔴 CRITICAL   88      1            115.7M/wk      11.8y  🔐 verified
                ⚠ COMPROMISED — axios token theft (2026-03-30)

⚠  5 CRITICAL packages found.
   CRITICAL = sole npm publisher + >10M weekly downloads (publish-access concentration risk)

npm audit 不会标记这些问题。它们不是漏洞,而是攻击面集中问题。只需一个被盗的 npm 令牌、一个遭钓鱼攻击的维护者,一次推送就能波及整个生态系统(axios,2026 年 3 月 30 日——已发生)。

供应链问题

下载量每周超过 1,000 万的 91 个 npm 包中,有 26 个只有一位 npm 发布者。它们每周的下载量合计超过 30 亿次。npm audit 不会显示这些问题,Star 数也不会。

典型的 Node.js 项目中有四个包目前处于严重风险状态:

  • chalk — 每周下载量 4.32 亿次,1 位 npm 发布者
  • zod — 每周下载量 1.85 亿次,1 位 npm 发布者(30 多位 GitHub 贡献者)
  • lodash — 每周下载量 1.56 亿次,1 位 npm 发布者
  • axios — 每周下载量 1.13 亿次,1 位 npm 发布者(2026 年 3 月 30 日遭到攻击)

它们也不会出现在你的 package.json 中——但几乎每个项目都包含以下包:

  • minimatch — 每周下载量 6.25 亿次,1 位 npm 发布者
  • glob — 每周下载量 3.66 亿次,1 位 npm 发布者
  • cross-spawn — 每周下载量 2.15 亿次,1 位 npm 发布者

行为信号可以揭示这些问题,Star 数和 README 则不能。

快速安装(MCP)

无需登录。添加到任何兼容 MCP 的 AI 工具中,即可开始查询供应链风险。

Claude Desktop

在 macOS 上打开 ~/Library/Application Support/Claude/claude_desktop_config.json(配置文件参考),或在 Windows 上打开 %APPDATA%\Claude\claude_desktop_config.json,然后添加:

{
  "mcpServers": {
    "commit": {
      "type": "streamable-http",
      "url": "https://poc-backend.amdal-dev.workers.dev/mcp"
    }
  }
}

重启 Claude Desktop。聊天输入框中会出现一个工具图标——让它审计你的 package.json。

Cursor

打开 ~/.cursor/mcp.json(Cursor MCP 文档)并添加:

{
  "mcpServers": {
    "commit": {
      "type": "streamable-http",
      "url": "https://poc-backend.amdal-dev.workers.dev/mcp"
    }
  }
}

Smithery(编入索引后)

npx -y @smithery/cli install proof-of-commitment --client claude

立即试用

终端(无需安装):

# New in v1.8.0: zero-arg auto-detect — cd into any project, run once:
npx proof-of-commitment
# Picks the highest-coverage manifest in cwd (package-lock.json > yarn.lock >
# pnpm-lock.yaml > pnpm-workspace.yaml > package.json; requirements.txt;
# Cargo.toml; go.sum > go.mod). When multiple ecosystems are present, the
# file with the most recent mtime wins.

# Explicit package list still works:
npx proof-of-commitment axios zod chalk

# Or point at a specific file:
npx proof-of-commitment --file package.json
npx proof-of-commitment --file package-lock.json   # npm (transitive)
npx proof-of-commitment --file yarn.lock           # yarn
npx proof-of-commitment --file pnpm-lock.yaml      # pnpm
npx proof-of-commitment --file pnpm-workspace.yaml # pnpm monorepo
npx proof-of-commitment --pypi litellm langchain requests
npx proof-of-commitment --cargo serde tokio reqwest
npx proof-of-commitment --golang github.com/gin-gonic/gin golang.org/x/net
npx proof-of-commitment --file go.mod
npx proof-of-commitment --file go.sum              # full transitive Go set

# JSON output for downstream tools:
npx proof-of-commitment --file package-lock.json --json | jq '.criticalCount'
CI 集成(v1.8.0+)

--fail-on=<level> 可将 CLI 变成一行 CI 门禁。无需 GitHub Action。

# .github/workflows/supply-chain.yml
name: Supply Chain
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npx -y proof-of-commitment --fail-on=critical

级别:

--fail-on在以下情况下退出码为 1…
critical任意包被标记为 CRITICAL(发布权限集中)
risky任意包被标记为 CRITICAL 或 HIGH(评分 < 40)
none从不——仅生成报告

默认值:在 CI 中(设置了 CI=true 时,所有主要 CI 运行器都会设置)以及使用 --json 输出时为 critical。交互模式(TTY、非 CI)沿用 v1.7 的默认值 exit 0——在本地运行不会改变你的 Shell 使用习惯。

如果你需要 PR 评论和步骤摘要,专用的 piiiico/commit-action@v1 仍是合适的选择;--fail-on 则适用于只需判断是否通过的精简流水线。

GitHub Code Scanning 的 SARIF 输出(v1.26.0+)

--sarif 会输出 SARIF 2.1.0——静态分析结果的标准格式。将其上传到 GitHub Code Scanning 后,Commit 发现结果会与 CodeQL 和 Snyk 一起显示在 Security 标签页中。

# .github/workflows/supply-chain.yml
name: Supply Chain
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    permissions:
      security-events: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npx -y proof-of-commitment --file package-lock.json --sarif --fail-on=none > results.sarif
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: results.sarif
          category: commit-supply-chain

CRITICAL 和 HIGH 包会在仓库的 Security 标签页中显示为警报。遭入侵的包(在 Commit 事件注册表中)会显示为单独的警报。--fail-on 仍独立控制退出码——使用 --fail-on=critical 还可以阻止 PR。

Web 演示(无需安装): getcommit.dev/audit — 粘贴你的包,几秒内即可查看风险评分。

IDE 钩子(Cursor + Claude Code + Windsurf)

poc hook 可通过一条命令,为 Cursor (beforeShellExecution)、Claude Code (PreToolUse) 和 Windsurf (pre_run_command) 安装供应链防护门。相同的钩子脚本会拦截任何 Agent 发起的软件包安装,自动检测调用它的客户端,并在运行前阻止 CRITICAL 软件包。

# Install for the current project (writes .cursor/hooks.json + .claude/settings.json + .windsurf/hooks.json):
poc hook

# Or protect every project for your user:
poc hook --global

# Narrow to one client:
poc hook --cursor          # only .cursor/hooks.json
poc hook --claude-code     # only .claude/settings.json
poc hook --windsurf        # only .windsurf/hooks.json

# Remove (cleans all three):
poc hook --uninstall

该钩子会写入 .cursor/hooks.json、.claude/settings.json 和 .windsurf/hooks.json(项目级),或写入 ~/ 下的对应文件(使用 --global 时)。当 Cursor、Claude Code 或 Windsurf 运行 npm install axios、pip install litellm、cargo add serde 或 go get github.com/gin-gonic/gin 时,钩子会调用 Commit API,并在 500 毫秒内阻止、警告或放行。

拦截范围:

包管理器命令示例
npm / npxnpm install <pkg>、npm add <pkg>
pnpmpnpm add <pkg>
yarnyarn add <pkg>
pip / pip3 / uvpip install <pkg>
cargocargo add <pkg>、cargo install <pkg>
gogo get <module>、go install <module>

**这为何重要:**供应链攻击如今几分钟内就会发生。Shai-Hulud 蠕虫(2026 年 5 月)在 39 分钟内攻陷了 637 个软件包,并专门针对 AI 编码助手——在 .claude/settings.json 和 .vscode/tasks.json 中植入持久化钩子。当 AI 助手安装依赖项时,它会绕过过去作为最后一道防线的人工审核。poc hook 重新设立了这道防线——无论由 Cursor、Claude Code 还是 Windsurf 驱动,都使用同一道防线。

**默认行为:**CRITICAL 软件包(npm 发布者唯一且每周下载量超过 1,000 万——与 LiteLLM/axios 攻击特征完全一致)会被阻止。HIGH 软件包会触发“询问用户”提示(Cursor/Claude Code),或被阻止并显示提示消息(Windsurf)。设置 COMMIT_HOOK_SEVERITY_BLOCK=HIGH 可同时阻止两种级别的软件包。

**使用 API 密钥:**运行 poc hook 前,先执行 poc login sk_commit_…——密钥会嵌入钩子配置,并解除速率限制。


在下一次攻击发生前收到通知

CLI 会告诉你今天有哪些风险。免费 API 密钥可解锁监控功能——重新计算你所依赖软件包的评分,并在评分下降时发出提醒(发布者减少、发布停滞、评分下降 ≥10 分)。

  • **Open(免费):**监控 3 个软件包 · 每周一发送摘要
  • **Developer($15/月):**监控 15 个软件包 · 每日扫描 · 即时邮件提醒

获取免费 API 密钥 →(无需银行卡,30 秒即可完成 · 每天包含 200 次审计)

npm install -g proof-of-commitment   # then:
poc watch axios --email [email protected]  # free key + monitoring in one step
poc watch chalk                          # add more packages (3 free)
poc init                                 # add CI gate to this repo

GitHub Action

在 30 秒内为任意 CI 流水线添加供应链审计——自动从 package.json 或 requirements.txt 检测软件包、将结果作为 PR 评论发布、写入 GitHub Step Summary,并可选择在发现 CRITICAL 软件包时使工作流失败。

使用专用 Action:piiiico/commit-action:

# .github/workflows/supply-chain.yml
name: Supply Chain Audit
on:
  pull_request:
    paths: ['package.json', 'package-lock.json', 'bun.lock']

jobs:
  audit:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: piiiico/commit-action@v1
        with:
          fail-on-critical: true   # blocks merges on CRITICAL packages
          comment-on-pr: true      # posts results as a PR comment

当 comment-on-pr: true(默认值)时,Action 会自动将审计表作为评论发布到拉取请求中;重新运行时会更新同一条评论,因此不会刷屏。审查者无需离开 PR 即可查看风险表。

输入:

输入默认值描述
packages(auto)以逗号分隔的软件包名称(若未设置,则从 package.json/requirements.txt 自动检测)
packages-file(auto)package.json 或 requirements.txt 的路径(默认:在工作区根目录自动检测)
fail-on-criticaltrue如果发现 CRITICAL 软件包,则使工作流失败
max-packages20自动检测时要审计的软件包数上限
include-dev-dependenciesfalse包含 package.json 中的 devDependencies
comment-on-prtrue将审计结果作为 PR 评论发布(需要 pull-requests: write 权限)
api-key(none)Commit Pro API 密钥——启用批量请求和每月 10K 次请求
api-url(prod)覆盖 API 端点(适用于可自托管场景)

输出: has-critical、critical-count、audit-summary(Markdown 表格,也会写入 Step Summary)。

**免费版与 Pro 版:**不使用 API 密钥时,会逐个审计软件包(并在请求间延迟,以遵守速率限制)。使用 Pro API 密钥时,所有软件包会通过单个批量请求完成审计——速度更快,每月限额也更高。

PR 评论 / Step Summary 输出示例:

| Package | Risk        | Score | Publishers | Downloads/wk | Age   |
|---------|-------------|-------|------------|--------------|-------|
| chalk   | 🔴 CRITICAL | 75    | 1          | 380M         | 12.7y |
| zod     | 🔴 CRITICAL | 83    | 1          | 133M         | 6.1y  |
| axios   | 🔴 CRITICAL | 89    | 1          | 93M          | 11.6y |

README 徽章

为你维护或依赖的任意 npm 软件包添加 Commit Trust 徽章:

![Commit Trust](https://poc-backend.amdal-dev.workers.dev/badge/YOUR-PACKAGE)

示例:

软件包徽章 URL
chalk![Commit Trust](https://poc-backend.amdal-dev.workers.dev/badge/chalk)
react![Commit Trust](https://poc-backend.amdal-dev.workers.dev/badge/react)
express![Commit Trust](https://poc-backend.amdal-dev.workers.dev/badge/express)
@babel/core![Commit Trust](https://poc-backend.amdal-dev.workers.dev/badge/@babel/core)

评级:🟢 OK(75+)· 🟠 WARNING(40–74)· 🔴 CRITICAL(<40 或唯一的 npm 发布者且每周下载量超过 10M)

徽章缓存 1 小时。无需 API 密钥。

还支持 PyPI、Cargo、Go 模块以及完整的生态专属格式:

![commit score](https://poc-backend.amdal-dev.workers.dev/api/badge/npm/YOUR-PACKAGE)
![commit score](https://poc-backend.amdal-dev.workers.dev/api/badge/pypi/YOUR-PACKAGE)
![commit score](https://poc-backend.amdal-dev.workers.dev/api/badge/cargo/YOUR-CRATE)
![commit score](https://poc-backend.amdal-dev.workers.dev/api/badge/golang/github.com/owner/repo)

REST API

无需 API 密钥。无需安装。

curl https://poc-backend.amdal-dev.workers.dev/api/audit \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"packages": ["axios", "zod", "chalk", "lodash", "express"]}'
{
  "count": 5,
  "results": [
    {
      "name": "chalk",
      "ecosystem": "npm",
      "score": 75,
      "maintainers": 1,
      "weeklyDownloads": 398397580,
      "ageYears": 12.7,
      "trend": "stable",
      "riskFlags": ["CRITICAL"],
      "scorecardScore": 3.6,        // null if no GitHub repo
      "hasDangerousWorkflow": false  // null if no Scorecard data
    },
    ...
  ]
}

12 个 MCP 工具

工具描述
audit_dependencies批量审计最多 20 个 npm/PyPI/Cargo/Go 软件包的风险
audit_github_repo获取仓库的 package.json/requirements.txt 并审计其中的所有依赖项
audit_dependency_tree映射 npm 软件包的完整依赖树(包括传递依赖中的 CRITICAL 项)
lookup_npm_package单个 npm 软件包的行为特征
lookup_pypi_package单个 PyPI 软件包的行为特征
lookup_cargo_crate单个 Rust crate 的行为特征(crates.io)
lookup_go_module单个 Go 模块的行为特征(proxy.golang.org + GitHub)
lookup_github_repoGitHub 仓库的持续性评分(存续时间、提交频率、贡献者深度)
lookup_business挪威企业注册信息——运营年限、员工人数、财务数据
lookup_business_by_org同上,按组织编号查询
query_commitment浏览器扩展行为数据(唯一已验证访客数、回访率)
get_api_key在聊天中创建免费 API 密钥——无需浏览器,立即返回密钥

匿名使用:在 /mcp 和 /api/audit 两个端点合计,每个 IP 每 UTC 日 15 次请求。免费密钥(无需信用卡,30 秒即可在 https://getcommit.dev/get-started 完成注册):每天 200 次。更高等级请访问 https://getcommit.dev/pricing。

分数衡量什么

每个软件包按以下维度评分,范围为 0–100:

  • 存续时间 — 软件包已存在多久?遭弃用的软件包可能会被重新激活,用于攻击。
  • 发布者集中度 — 单一 npm 发布者 + 每周数百万次下载 = LiteLLM 攻击所利用的攻击面。(发布者 = 有权在 npm 上发布软件包的人,与 GitHub 贡献者不同。)
  • 发布一致性 — 定期发布表明有人在积极监督。长期中断 = 漏洞不断累积。
  • 下载趋势 — 增长中的软件包会引来更多关注(也包括攻击)。稳定 = 关注度较低。
  • OpenSSF Scorecard — 流程安全(代码审查强制执行、分支保护、CI/CD 安全性)。与行为信号相互独立。Scorecard 分数高 ≠ 能防范凭据窃取攻击。

axios(Scorecard 为 8.1/10)和 chalk(Scorecard 为 3.6/10)在行为信号上的风险都为 CRITICAL。它们衡量的是不同的攻击面 — Scorecard 可发现流程漏洞,行为信号可发现发布者集中度。

风险标记:

  • CRITICAL — 单一 npm 发布者 + 每周下载量 >10M(与 LiteLLM/axios 完全一致的攻击特征)
  • HIGH — 软件包发布不足 1 年 + 快速普及
  • WARN — 12 个月以上未发布新版本

实际数据

# packages you know about:
chalk       — score 75, 1 publisher, 432M/week  ⚑ CRITICAL
zod         — score 83, 1 publisher, 185M/week  ⚑ CRITICAL  (30+ GitHub contributors)
lodash      — score 81, 1 publisher, 156M/week  ⚑ CRITICAL
axios       — score 88, 1 publisher, 113M/week  ⚑ CRITICAL  (attacked Mar 30 2026)
express     — score 90, 5 publishers, 95M/week

# packages probably not in your package.json, definitely in your lock file:
minimatch   — score 78, 1 publisher, 625M/week  ⚑ CRITICAL
glob        — score 80, 1 publisher, 366M/week  ⚑ CRITICAL
cross-spawn — score 72, 1 publisher, 215M/week  ⚑ CRITICAL

# post-attack:
litellm     — score 74, 1 publisher            ⚑ CRITICAL  (supply chain attack Mar 2026)

# Rust crates (new in v1.3.0):
serde       — score 78, 1 owner,  13M/week  ⚑ CRITICAL  (dtolnay sole owner)
tokio       — score 89, 2 owners, 10M/week
reqwest     — score 85, 1 owner,   8M/week  ⚑ HIGH

为什么关注行为信号

LiteLLM 攻击(2026 年 3 月)和 axios 攻击(2026 年 3 月 30 日)遵循了相同模式:凭据被盗 → 推送恶意软件包 → 超过 9700 万台机器暴露。按这些指标衡量,这两个软件包如今的风险都为 CRITICAL,攻击者利用的正是单账户这一条件。这些分数是在攻击发生后计算的:这是追溯判断,不是预测。

声明式信号(星标、README 质量、CI 徽章)无法捕捉这种风险。行为层面的承诺则可以。

博客

  • LinkedIn 后门:为什么 npm audit 漏掉了一个 250 行的攻击 — 一场伪造招聘者克隆攻击将恶意软件藏在测试文件中,并通过 npm 生命周期脚本运行。npm audit:毫无反应。了解哪些行为信号本可以发出警报。
  • axios:结构性分析 — axios 因单一 npm 发布者而被标记为 CRITICAL,攻击者在 2026 年 3 月 30 日利用的正是这一条件。分数是在攻击发生后而非发生前计算的。

技术栈

层技术
后端Cloudflare Workers + D1
MCPModel Context Protocol SDK
数据npm registry、PyPI、crates.io、proxy.golang.org、deps.dev、GitHub API、Brønnøysund (NO)
着陆页Astro + Cloudflare Pages

路线图

计划中的功能,不作承诺。项目仍处于早期阶段,欢迎为以下任意项目贡献代码。

功能状态说明
Cargo(Rust)注册表支持✅ 已上线MCP 工具、REST API、徽章端点 — ecosystem: "cargo"
Go 模块支持✅ 已上线proxy.golang.org + deps.dev + 以 GitHub 为主要依据的评分 — ecosystem: "golang"
分数明细可视化计划中在 getcommit.dev/audit 上展示 5 个维度的图表组件
CLI 的 --json 标志✅ 已上线npx proof-of-commitment --file package-lock.json --json | jq '.criticalCount'
pnpm 工作区单体仓库支持✅ 已上线使用 --file pnpm-workspace.yaml,或从 pnpm-lock.yaml 自动检测
历史分数追踪计划中趋势图表 — 这个软件包的风险是否随时间增加?
组织级仪表板计划中汇总查看 GitHub 组织中所有仓库的风险

请参阅未解决的问题,了解当前可以协助的事项。

更广泛的愿景

供应链审计是第一个工具。其底层原语是承诺图——用行为信号取代基于内容的信任,适用于任何领域。

当内容可以轻易伪造时(评论、星标、README),承诺就成了信号。一位在 12 年间发布过 847 个版本的发布者,与一位在 2023 年只发布过一次的发布者,所体现的承诺截然不同。

同样的逻辑也适用于网站、企业和 AI Agent。两家卡组织分别指出了这一缺口:Mastercard Verifiable Intent §9.2 明确将行为信任列为“未涵盖”。Visa TAP 能识别 Agent,却没有回答是否应该信任它们。

Proof of Commitment 正是它们所指向的信任层。

→ getcommit.dev

本地运行

bun install
bun run dev:backend     # local server with SQLite
bun run test:e2e        # E2E test with mock World ID

部署:

bun run deploy          # deploys to Cloudflare Workers

发布

推送 v* 标签后会自动触发发布,也可以通过 GitHub Actions workflow_dispatch 手动触发。

转化漏斗冒烟测试门禁

运行 npm publish 前,CI 工作流会执行 scripts/funnel-smoke.sh——一项发布前本地模拟检查,用于测试转化漏斗的四条关键路径:

路径测试内容捕获的错误类型
A设置 COMMIT_API_KEY 后通过 CLI 审计 → 200 + 结果v1.20.0:缺少 Authorization 标头 → 付费转化数为 0
BCLI 匿名审计,返回 429 → 提示信息 + instant_key_url429 处理 / CTA 展示
Ccursor-hook(Cursor stdin)返回 429 → permission: ask + 注册 URLv1.21.0:429 时静默 allow → 安全缺口 + 转化数为 0
Dcursor-hook(Claude Code PreToolUse stdin)返回 429 → hookSpecificOutput.permissionDecision: ask + claude-code-hook-429 归因v1.22.0:Claude Code 驱动时回复格式错误 → 静默允许 / 转化归因错误

任一路径失败都会阻止发布。该门禁会运行本地 Python 模拟服务端,因此在 CI 中结果确定,且不依赖生产环境的限流状态。

**可选 CI 密钥:**在 GitHub 仓库机密中设置 COMMIT_TEST_API_KEY,即可在路径 A 中使用真实 API 密钥。若未设置,则使用本地服务端无条件接受的模拟密钥。

本地运行:

bash scripts/funnel-smoke.sh

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。