mcpField
C
check

check

本地服务
github.com/getstub安全06 周前更新

关于 check

Stub recipes 是可运行的参考集成示例,展示 AI Agent 如何为行动及已披露的商业影响签发签名记录。示例涵盖多种 Agent 模式和语言,并明确属于模拟而非生产部署。

主要功能

  1. 01可运行的 Agent 集成示例
  2. 02记录 Agent 行动的签名凭据
  3. 03披露商业影响
  4. 04提供 JavaScript 和 Python 示例

适用场景

  1. 01在排序决策处添加凭据
  2. 02查看 Agent 行动记录
  3. 03研究不同 Agent 模式的集成

MCP 相关

`mcp` 示例展示 Agent 可接入的公共检查服务,以及运营方签发凭据的模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dev-getstub-check": {
"command": "npx",
"args": [
"-y",
"@getstub/mcp-check"
],
"env": {
"STUB_REGISTRY": "<STUB_REGISTRY>"
}
}
}
}
启动命令npx -y @getstub/mcp-check
需要配置的环境变量
STUB_REGISTRYRegistry host to resolve receipts against. Defaults to https://api.getstub.dev

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@getstub/mcp-check0.1.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
stub_idstring是64 个字符的 stub id

详细介绍

Stub recipes

Stub

为 Stub 提供可运行的参考集成。Stub 是面向 AI Agent 的利益关系回执注册表。

每个 recipe 都是一个可运行的 Agent,Stub 已接入其中排名选出胜者的那一行代码。克隆一个、运行它,然后查看它生成的回执。

这里的每个 recipe 都是参考实现和模拟。没有真实商家、没有真实资金、没有真实用户。没有人在生产环境中运行这些项目,每个 README 都会说明这一点。我们的目的是准确展示回执应放在你熟悉的代码中的哪个位置。

Recipes

Recipe展示内容语言
tool-loop每个框架封装的基本原语。一个模型、两个工具、一个循环。JavaScript
acp-commerce利益关系存在于结账之前,也就是排名环节。JavaScript
mcp任何 Agent 都能添加的公共检查服务,以及运营方签发模式。JavaScript
langchain-python在 LangChain Agent 中实现相同的集成。Python
vercel-ai-sdkJavaScript 中最大的 Agent 开发平台。JavaScript
insurance-advice商业场景之外的基本原语,且关系重大。Python

每个 recipe 都会连接实时注册表,并以你选择的运营方 ID 签发真实回执。免费套餐每月提供 1,000 个 stub,因此尝试全部六个无需花费。没有离线模式,也没有模拟注册表:签发 stub 的唯一方式就是实际签发。

上方的徽章

这些 recipe 每天都会在实时注册表上运行测试,徽章则基于运行生成的回执。它不是构建状态:它表示参考 Agent 为其目录进行了排名,披露了影响结果的因素,并签发了任何人都能打开查看的签名记录。点击徽章即可查看这些记录。

如果徽章停止更新,就说明 recipe 已无法运行;本仓库会在你克隆之前告知你。

从这里开始

如果你是新手,请先阅读 tool-loop。它最精简,也包含了其他 recipe 反复强调的要点:模型没有做错什么,做出决定的是排名。

cd tool-loop
npm install
export STUB_OPERATOR_ID=op_yourname_toolloop
npm run demo

选择一个属于你的运营方 ID。首次运行会注册该 ID,并将密钥对保存到 .stub-keys.json,此文件已加入 gitignore。之后每次运行都会使用相同的身份。

演示程序会打印代码生成的排名、每个项目对应的原因,以及任何人都能打开的回执链接。

准备部署时

这些 recipe 每次运行都会生成新的密钥对,这适合阅读演示,却不适合生产环境。 PRODUCTION.md 介绍了需要做出的改变:如何持久化身份、回执应放在哪里、自由文本中绝不能放什么,以及我们让自己的 Agent 上线时犯过的错误。

什么是 stub

当你的 Agent 代表某人采取行动时,它会签发一条小型签名记录:谁提出了请求、执行了什么操作、发生了什么资金流动,以及适用了哪些商业影响因素。服务对象会在中立注册表中检查这条记录,而不是在你的服务器或我们的服务器上检查。

安装任何内容之前,可以先查看这条实时记录:

https://api.getstub.dev/check/72b4baee1719ec34acc5df5c514a12fd2e19b9a6776de4b45706988f765c77d8

完整集成示例

import { Stub, influenced } from '@getstub/agent';

const stub = new Stub({
  operator: 'Your Agent',
  declared: {
    paid_by: 'the user, subscription',
    conflicts: ['commission'],
  },
});

// at the line where your ranker picks a winner:
const inf = [];
if (pick.paid_placement) inf.push(influenced.placement(pick.seller));
if (pick.commission_pct) inf.push(influenced.commission(pick.commission_pct + '%'));

const receipt = await stub.issue({
  principal: user.id,        // hashed on your side, never sent raw
  agent: 'your-agent',
  requested: query,
  done: `booked ${pick.name}`,
  value_moved: { amount: pick.price, currency: 'USD' },
  not_disclosed: inf,        // an empty array is signed proof none applied
});

Python 版本的结构相同:

from getstub import Stub, influenced

两个常见要点

披露信息不需要手动编写。 你的排名代码知道佣金或展示费何时影响了结果,因为正是它应用了这些因素。回执会在同一行代码中读取相同的标志。它能随着排名逻辑的扩展而扩展。

披露内容为空不等于什么都没发生。 这是一份签名声明,表示你的业务中存在利益冲突,但没有任何冲突影响此次操作。这比沉默更有价值,也正因如此,诚实的运营方能从中获益。

安装

npm install @getstub/agent
pip install getstub

两个客户端都会对同一规范格式进行签名,并通过验证而非假定来确认:Python 测试套件会为 stub 签名,再让注册表代码进行验证。

免费套餐

每月 1,000 个凭证。验证永远免费,因为向接受服务的人收取验证费用就违背了初衷。

链接

版权所有 Stub 2026

评论

支持 Markdown

第一次接触 MCP?

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

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