mcpField
T
tab

tab

本地服务
paidwithtab.com金融数据06 天前更新

关于 tab

tab 是面向软件 Agent 的开放支付协议,让 Agent 按所有者设定的规则购买付费 HTTP 服务。签名授权限定总预算、单次价格和卖家等,MCP 工具可供兼容 Agent 搜索服务并付款。

主要功能

  1. 01签名授权设置支出上限
  2. 02按 HTTP 402 付费请求
  3. 03验证请求并签发收据
  4. 04支持 x402 支付标准
  5. 05提供服务目录与 MCP 工具

适用场景

  1. 01让 Agent 在预算约束内调用付费 API
  2. 02为 HTTP API 添加支付网关
  3. 03通过 MCP 搜索并购买服务

MCP 相关

tab 提供五个 MCP 工具,供兼容 Agent 搜索服务、查看定价、发起付费请求、查询余额和授权限制。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"paidwithtab-tab": {
"command": "npx",
"args": [
"-y",
"paidwithtab"
],
"env": {
"TAB_AGENT": "<TAB_AGENT>",
"TAB_MANDATE": "<TAB_MANDATE>",
"TAB_MAX_PER_CALL": "<TAB_MAX_PER_CALL>",
"TAB_CATALOG": "<TAB_CATALOG>"
}
}
}
}
启动命令npx -y paidwithtab
需要配置的环境变量
TAB_AGENTAgent key file. Default ~/.tab/agent.json, which `npx paidwithtab init` creates with a mandate and starter credits.
TAB_MANDATEOwner-signed mandate file. Default ~/.tab/mandate.json.
TAB_MAX_PER_CALLRefuse any single call priced above this many dollars, e.g. 0.05.
TAB_CATALOGCatalog to search. Default https://paidwithtab.com.

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

安装包
npmpaidwithtab2.3.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

tab

为软件 Agent 提供支付服务。

为 Agent 配置带规则的钱包,而不是把你的钱包交给它。

规范草案 0.6 线协议 tab/0 Node 22.13+ 282 项自动化检查 USDG 结算 MIT 许可证

快速开始 · 运营一家公司 · 面向 Agent · 面向卖家 · 协议 · 部署 · @paidwithtab


目录

什么是 tab · 为什么选择 tab · 授权书 · 支付如何运作 · 快速开始 · 面向 API 提供商 · 面向 Agent 开发者 · 公司 · 结算 · x402 · 安全模型 · 测试 · 架构 · 路线图


什么是 tab

tab 是一种面向软件 Agent 的开放支付协议。

它让 Agent 能够发现收费的 HTTP 服务、获取价格、根据所有者设定的规则授权购买、完成支付并接收结果。整个过程无需任何人创建账户、输入银行卡信息或复制 API 密钥。

所有者只需在签名的授权书中定义一次规则:

限制条件用途
总预算限制整个生命周期内的支出
单次请求最高价格阻止单次高价调用
允许的卖家限制资金的去向
支出周期每个 UTC 日重置预算,或使用单一的终身总额
到期时间自动终止授权

所有者只需签名一次。之后 Agent 就能自行交易,且不能超出所有者授权的范围。

Owner
  │
  │ signs mandate
  ▼
Agent
  │
  │ HTTP request
  ▼
Gateway ────────► API
  │
  │ verifies mandate
  │ enforces budget
  │ settles payment
  ▼
USDG

为什么选择 tab

软件 Agent 已经能够调用 API 和使用工具。为这些服务付费,仍然需要人工参与。

如今,人工需要创建账户、输入支付信息、生成 API 密钥、配置账单,并将凭据交给 Agent。tab 用 HTTP 支付取代了这一切。

不使用 tab使用 tab
Agent calls API

HTTP/1.1 402 Payment Required

注册账户、绑定银行卡、交接 API 密钥、设置账单。

Agent pays through tab

HTTP/1.1 200 OK
Tab-Receipt: evm:0x...

无需账户。无需银行卡信息。无需共享所有者密钥。无需不受限制的钱包。

授权书

授权书是所有者签发给 Agent 的签名支出授权。

字段示例
Agent7f2c...
预算$25.00
单次调用最高金额$0.05
允许的卖家api.example.com
到期时间2026-10-01

Agent 工作期间,所有者密钥无需保持在线。卖家的网关会依据签名授权书独立检查每笔支付,因此修改 Agent 的提示词也无法扩大其权限。

支付流程

tab 使用标准 HTTP 支付语义。定价端点会返回 402 Payment Required 和一个描述购买内容的签名质询。Agent 会根据其授权检查价格,并签署绑定到该确切请求的凭证。

随后,网关会执行完整流程:

步骤操作
1验证质询
2验证授权
3验证 Agent
4验证确切请求
5预留预算
6调用上游服务
7仅在收到成功响应后结算
8返回签名收据

如果上游服务失败,支付将作废。

收据由网关公布的密钥签署,并将整个购买过程绑定在一起:允许此次购买的授权、Agent 签署的确切请求、返回的响应正文哈希、卖家以及支付(在 Robinhood Chain 上为交易哈希)。因此,收据证明了购买了什么,而不仅仅是资金发生了转移。客户端会根据收到的字节验证收据,任何编辑都会导致验证失败。

快速入门

需要 Node.js 22.13 或更高版本。

只需一条命令,即可为 Agent 配置 tab:

npx paidwithtab init

此命令会在 ~/.tab 中创建一个所有者密钥和一个 Agent 密钥,签署一份授权(每天 $1.00、每次调用 $0.05,有效期 90 天),并在 pay.paidwithtab.com 公共网关领取 $1.00 的入门额度。无需充值,无需链,也无需 API 密钥。

这些额度可以购买真实服务:8,638 个路由,涵盖 484 项服务,包括网页搜索、翻译、语音转文本、42 条链的区块浏览器、20 家交易所的市场数据、48 种语言的 Wikipedia、SEC 文件、美国财政部数据、基因组、蛋白质和化学数据、软件包注册表、RDAP 和 DNS、天气与空间天气,每次调用费用为 $0.001 至 $0.02。完整服务列表及价格请参阅快速入门。

1. 在命令行中为服务付费。

npx paidwithtab fetch "https://pay.paidwithtab.com/wikipedia/api/rest_v1/page/summary/Lisbon"
paid 0.001 (ledger:cpKKYHocOLKlDW8n)
{"type":"standard","title":"Lisbon", ...}

2. 让 Claude Code 支付费用。

claude mcp add --scope user tab -- npx -y paidwithtab mcp

然后向 Claude 提出需要付费的请求,例如“通过 tab 查询里斯本的天气”。它会在 paidwithtab.com/catalog 搜索目录,按请求付费,且支出永远不会超过授权额度。

3. 查看价格标签。

curl -i https://pay.paidwithtab.com/fx/latest?base=USD
HTTP/1.1 402 Payment Required
WWW-Authenticate: Tab challenge="eyJ2ZXIiOiJ0YWIvMCIs..."

入门额度是该网关上的沙盒资金。要使用真实资金,请在 Robinhood Chain 上为 Agent 充值 USDG:docs/buyers.md。

想在自己的机器上运行完整技术栈?git clone https://github.com/paidwithtab/tab && cd tab && npm install && npm run demo 会启动一个付费 API、一个网关、一个目录和一个本地钱包。完整操作指南

面向 API 提供商

只需一份简短的 JSON 规范,任何 HTTP API 都可以支持付费。开发期间省略 rail,即可使用沙盒余额运行。

{
  "realm": "api.example.com",
  "recipient": "<wallet>",
  "rail": "evm",
  "evm": {
    "rpc": "https://rpc.testnet.chain.robinhood.com",
    "chain_id": 46630,
    "token": "0x5B6C7cAF7F99f99154fD8375ec935Fcf03F326f5",
    "decimals": 6,                     // the token's decimals, 0 to 18; USDG and USDC have 6
    "recipient": "<your 0x payout address>"
  },
  "upstream": "http://127.0.0.1:8080",
  "routes": [
    { "method": "GET",  "path": "/v1/things/:id", "price": "0.01"  },
    { "method": "POST", "path": "/v1/generate",   "price": "0.002" }
  ]
}

启动网关:

tab serve \
  --spec spec.json \
  --announce https://paidwithtab.com

网关负责处理支付协商、授权、结算、收据和代理转发。你的应用仍可像往常一样提供 HTTP 服务。

阅读卖家文档

面向 Agent 开发者

1. 创建 Agent 密钥。

tab key new --out agent.json

2. 为其签发授权。

tab mandate issue \
  --owner owner.json \
  --agent agent.json \
  --budget 5.00 \
  --window day \
  --max-per-call 0.05 \
  --allow 'api.example.com' \
  --out mandate.json

3. 在这些限额内支出。

import { TabClient, receiptOf } from 'paidwithtab/client';

const client = new TabClient({
  agent,
  mandate,
  maxPerCallUsd: '0.05',
});

const url = 'https://api.example.com/v1/things/42';
const res = await client.fetch(url);
const body = new Uint8Array(await res.arrayBuffer());

console.log(receiptOf(res)?.ref);
console.log(await client.verify(url, res, body)); // { ok: true }

或者跳过密钥管理:npx paidwithtab init 会完成以上三个步骤,并在公共网关领取入门额度。

tab 还提供五种 MCP 工具,让兼容的 Agent 无需接触所有者的私钥,即可发现和购买服务:

工具用途
tab_search在目录中查找服务
tab_discover查看服务及其定价
tab_fetch发起付费请求
tab_balance查看剩余预算
tab_limits查看当前授权限制

阅读买家文档

将 tab 接入特定 Agent,包括 Cursor、Codex、Windsurf 和 Claude Desktop 的 MCP JSON 配置、框架工具、通过子进程使用 Python,以及生产环境中的密钥存放位置:docs/agents.md

公司

tab 2.2 在支付层之上运行一家公司 Agent:tab company 和 app.paidwithtab.com 上的控制面板。公司有使命、预算、分配了角色的 Agent 和工单。Agent 是 Claude,运行时使用你添加到公司的 Anthropic API 密钥,并且只使用五个 tab 工具,不做其他操作;也可以使用你指定的任意 HTTP 端点(可自托管的服务器也能运行 Claude Code)。它与普通 Agent 编排器的区别在于资金所在的位置:

  • 每次运行都有自己的授权,由公司所有者密钥签署,额度上限取公司剩余预算、Agent 的单次运行预算和工单上限三者中的最小值。网关会强制执行;Agent 无法超出额度。
  • 网关记入授权的支出,就是该次运行的实际支出,并逐笔收据归属到该次运行、工单和公司。模型费用也会记账。公司在预算使用达到 80% 时发出警告,达到 100% 时暂停。
  • 没有证据就不能结单:收据 ID、URL、文件或原样输出。没有证据的“已完成”会转交审核。
  • 雇用、设定预算、批准、暂停和发布都是由所有者密钥签署的董事会操作,并在每次读取时验证。可以导出密钥并离线签署这些操作。
  • 公司可以盈利:发布其销售服务所经由的网关,其收据就会显示为收入。
tab company serve --host app.example.com          # one process, SQLite, no dependencies
tab company signup --email [email protected] --password ...
tab company new --template examples/companies/research.json
tab company model-key --key sk-ant-...            # your Anthropic key, sealed at rest; your agents run on it
tab company fund && tab company status

docs/company.md 介绍 Agent 收到的数据包、必须返回的结果、适配器、董事会日志以及服务器的信任边界。

结算

tab 按交付优先模式,以 USDG 在 Robinhood Chain 主网结算,以测试网 USDC 在其测试网上结算;也可以使用网关选择收费的任何 ERC-20(此时其价格、支付请求和收据会在 currency 中标明该代币)。网关只有在上游服务成功响应后才会结算付款。

authorize
    │
    ▼
reserve
    │
    ▼
call API
    │
    ├── failure ──► void
    │
    ▼
success
    │
    ▼
settle
    │
    ▼
receipt

x402

tab 支持双向 x402,这是一种由 Coinbase 发起、Cloudflare、Visa 和 Mastercard 正在扩展的 HTTP 402 支付标准。

x402 买家可以向 tab 网关付款。 在 evm 支付轨道上,每个 402 响应都会在 tab 自身的支付请求旁附带 x402 支付要求(PAYMENT-REQUIRED 标头)。x402 客户端会签署一笔金额恰好等于价格、支付给卖家的 EIP-3009 转账,并通过 PAYMENT-SIGNATURE 发送;随后会收到包含 PAYMENT-RESPONSE 和已签名 tab 收据的响应。网关会检查签名、金额、收款方和时间窗口,模拟执行转账,调用上游,然后才从自己的小额 Gas 钱包在链上结算转账(--x402-settler)。如果未结算,就不会返回响应。目前,公共主网网关接受以 USDG 在 Robinhood Chain(eip155:4663)支付的 x402 款项,因此所有路由都对任何 x402 Agent 开放,无需任何 tab 软件。

tab Agent 可以向 x402 网站付款。 当网站返回的 402 仅包含 x402 支付要求时,tab 客户端会在所有者授权范围内为其付款:支付范围(网站的主机名)、单次调用上限、预算和有效期;可使用客户端支持的代币(Robinhood Chain 上的 USDG、Base 上的 USDC)。x402 要求付款方自行签署转账,因此所有者需要为 Agent 自己的地址注入少量资金(tab evm fund --amount 5.00 --token 0x...);这笔余额会在授权之外构成硬性上限。客户端会把签署的金额计入与 Agent 密钥放在一起的 x402-spent.json,因为 x402 网站不会记录 tab 预算。

同时支持这两种支付方式的网关,会由 tab 客户端按 tab 方式付款,因此所有者仍可保管资金,并且授权会在两端得到强制执行。

安全模型

tab 以权限受限为核心。

属性保证
所有者密钥保持离线所有者签署授权书。Agent 永远不会获得所有者的私钥。
Agent 有明确的限制Agent 遭到入侵时,只会暴露其授权书授予的权限。
请求经过密码学绑定凭证会绑定到确切的请求,包括查询字符串和请求体摘要。
支付无法重放挑战只能使用一次,链上结算还会增加一个 nonce 边界。
网关不持有买方密钥网关会验证并广播 Agent 授权的内容。它无法自行发起支付。

涉及支付不变量的安全问题,请通过 SECURITY.md 私下报告。

测试

tab 目前运行 282 项自动化检查,覆盖协议行为、对抗性条件、EVM 结算和公司编排器;此外还有 21 项针对仪表板的浏览器检查。

测试套件检查项覆盖范围
npm test81网关、目录、MCP、收据、支付生命周期、入门额度、tab init、请求体规则、按授权书支出、目录健康状态和过期服务
npm run test:adversarial48并发、重放、篡改、SSRF、持久化、请求体混淆、伪造和篡改的收据
npm run test:evm59密码学、EVM 交易、Robinhood Chain、双向 x402
npm run test:company94账户和信任边界、在真实网关付款的运行、凭据和已验证收据、预算、签名的董事会日志、密封的模型密钥、针对脚本化 Messages API 的 claude 适配器、通过伪造二进制运行的 claude-code
npm run test:dashboard21在真实浏览器中测试仪表板(Playwright,需先运行一次 npx playwright install chromium):注册、从模板中发现、添加模型密钥、领取额度、工单运行至完成、凭据和运行日志、退出;--live 还会加载公开站点和应用

并发测试套件会向一个 $1.00 授权书同时发起 150 个 $0.01 请求。恰好 100 个请求完成结算。

架构

                        ┌─────────────┐
                        │    Owner    │
                        └──────┬──────┘
                               │
                         signed mandate
                               │
                               ▼
┌─────────────┐        ┌─────────────┐
│   Catalog   │◄──────►│    Agent    │
└─────────────┘        └──────┬──────┘
                              │
                         HTTP + payment
                              │
                              ▼
                       ┌─────────────┐
                       │ tab Gateway │
                       └──────┬──────┘
                              │
                     verify + authorize
                              │
                ┌─────────────┴─────────────┐
                ▼                           ▼
          ┌──────────┐                ┌──────────┐
          │   API    │                │   USDG   │
          └──────────┘                └──────────┘
仓库布局
src/          protocol, gateway, catalog, client, CLI and MCP
src/tools.ts  the five tab tools, shared by the MCP server and the company's claude adapter
src/company/  the company orchestrator: store, engine, adapters, model (the Messages API loop), secrets, packet, board, server
src/evm/      EVM cryptography, transactions and JSON RPC
src/rails/    sandbox and EVM settlement rails
web/          site, catalog and the company dashboard
examples/     demos, example specifications and company templates
test/         protocol, adversarial, EVM and company tests

SPEC.md       protocol specification
DEPLOY.md     deployment and operations

协议

规范见 SPEC.md。

当前版本: 草案 0.6 · 线协议: tab/0,以及 x402 version 2

路线图

目前正在探索的方向:

  • 计量定价和支付通道
  • 窗口化链上预算
  • 标头绑定和订阅
  • 费用分成和 Gas 赞助

许可证

MIT。请参阅 LICENSE。

协议 · 买方 · Agent · 卖方 · 部署 · 安全 · @paidwithtab

评论

支持 Markdown

第一次接触 MCP?

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

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