Pink:一个让 AI 智能体(比如 Claude)在支出规则内付发票的 MCP 服务器

是的:Pink 智能体支付(Pink Agentic AI Payments)是一个 MCP 服务器,运行在 Claude、ChatGPT 或其他支持 MCP 的客户端里的 AI 智能体可以调用它,先对照公司的支出规则检查一张发票,如果规则允许,就真的把钱付出去,付款方式是一张一次性卡或一笔银行转账,而且只有在策略检查通过之后才会发出。智能体从来不持有卡号、银行登录信息或余额;它只持有一个受限范围的密钥,每次只请求一笔付款。

智能体付一张发票之前需要准备什么

每个智能体只需要一次性在 Pink 的控制台或沙盒里设置好这三件事,之后发票就能照常流转:

  • 一个智能体密钥。 每个智能体一个密钥,范围限定在这个智能体自己的预算、上限和资金库(vault)内。它看不到其他智能体的余额,也看不到公司卡。
  • 一套策略。 每个智能体的月度预算、单笔付款上限、所有智能体共享的公司每日上限、收款方白名单(默认禁止礼品卡、加密货币等类别),以及可选的审批规则。
  • 一条 MCP 连接。 智能体所在的客户端(Claude Code、Claude Desktop、ChatGPT 或其他 MCP 客户端)用这个智能体密钥连接到 Pink 的 MCP 接入点。

7 个 MCP 工具

Pink 的 MCP 服务器正好提供 7 个工具(已通过对实时沙盒的 tools/list 调用确认):

工具 作用
pink.get_budget 读取当前智能体的月度预算、已花金额、剩余额度、单笔付款上限、资金库余额,以及公司的每日上限。
pink.list_payees 列出这个智能体被允许付款的收款方。
pink.list_rules 列出适用于这个智能体的策略规则。
pink.check_policy 在不产生任何副作用的情况下,对一笔付款进行策略预演,返回决策结果和逐步的追踪记录。
pink.request_payment 提交真正的付款请求。带有 idempotency_key,重试调用不会重复扣款。
pink.get_credential 在付款被放行或审批通过后,取回那张一次性卡或银行转账凭证。
pink.report_receipt 为一笔已完成的付款提交收据。

一个用来付发票的智能体,通常先调用 pink.check_policy(看这笔付款是否会被允许),再调用 pink.request_payment 发出真正的请求,然后调用 pink.get_credential,或者如果凭证在 request_payment 的响应里已经直接返回,就直接读取。

如何从 Claude 和其他 MCP 客户端接入

Pink 的 MCP 接入点是 https://agentic-sandbox.pinkwallet.com/mcp(Streamable HTTP,无状态 JSON-RPC),支持两种鉴权方式:Bearer 头,或者把智能体密钥直接放进 URL 路径。根据 Pink 自己的连接指南,以下客户端已有文档说明,并各自标注了测试方式:

客户端 如何连接 Pink 文档中的状态
Claude Code claude mcp add --transport http pink <url> --header "Authorization: Bearer <agent_key>" Pink 已直接针对实时沙盒测试过(2026-10-01);claude mcp get pink 返回 Connected。
Claude.ai / Claude Desktop 设置 → Connectors → 添加自定义连接器 → 粘贴 MCP URL(密钥放在路径里,或走 OAuth 2.1 的免密钥配置流程) 由沙盒维护团队针对实时环境测试过(属于 GUI 流程,本次撰写未独立重跑)。
ChatGPT(开发者模式) 设置 → Connectors → Create → 粘贴带智能体密钥的 MCP URL Pink 文档中标注为支持;由沙盒维护团队测试过,本次撰写未独立重跑。

Pink 的文档还列出了 Anthropic Messages API、OpenAI Responses API、OpenAI Agents SDK、Gemini CLI、Cursor、Windsurf、VS Code(Copilot agent 模式)、Microsoft Copilot Studio、LangChain/LangGraph、CrewAI 和 n8n 的接入配置写法,均来自各客户端自身的官方文档。任何支持官方 MCP SDK(TypeScript、Python、Java、Kotlin、C#、Swift、Go、Ruby、Rust)或直接走 /v1/* REST 接口的客户端,完全可以不经过 MCP 这一层就接入。

一个具体的 Claude Code 连接命令是这样的:

claude mcp add --scope project --transport http pink \
  "https://agentic-sandbox.pinkwallet.com/mcp" \
  --header "Authorization: Bearer <agent_key>"

付发票的流程:放行、转人工,或拦截

每一次 pink.request_payment 调用(或者走 REST 的 POST /v1/payments)都只会返回以下三种结果之一,已对照实时沙盒的 OpenAPI 规范确认:

决策 HTTP 状态码 智能体会拿到什么
allowed(放行) 201 一个一次性凭证(银行转账、虚拟卡,或平台退款),精确锁定在那个收款方和金额上,发出 15 分钟后过期。
pending_human(转人工) 202 一个 hold_id、所需审批人数、被询问的具体人,以及一个过期时间。此时还没有凭证;智能体需要轮询或等待。
blocked(拦截) 403 永远不会拿到凭证,并附带一个 why 字段说明是哪条规则拦住了它。

在一次针对种子咖啡店工作区的真实沙盒测试中,一张 420 美元的发票付给一个已核准的收款方,在同一次调用里就返回了 HTTP 201 和一个一次性银行转账凭证;同一收款方的一张 900 美元发票,超出了这个智能体的自动放行档,返回了 HTTP 202,附带一个具名的人工审批人和大约 30 分钟的待批有效期。默认情况下,任何不匹配已配置规则的请求都会被拦截,而不是被直接放行。

当前的限制

上面所有工具和示例都运行在 Pink 的公开沙盒 agentic-sandbox.pinkwallet.com 上:免费、无需注册、仅使用测试凭证,没有任何一笔动用真实资金。用于支付真实发票的生产环境,目前处于早期访问阶段,需通过 pinkwallet.com/agentic/developers/ 的候补名单申请,尚未对所有用户开放。Pink 还运行着一个公开的 Overspend Challenge(超支挑战),邀请外部开发者尝试击败这套规则层;截至目前报告的 3 个发现中,2 个已修复(一个货币代码漏洞和一个时区漏洞,均于 2026-10-10 上线修复),1 个(一个亚分位舍入的边界情况)正在修复中。

常见问题

Claude 真的能通过 MCP 发钱或付发票吗? 可以,通过 Pink 智能体支付(Pink Agentic AI Payments)。Claude Code 和 Claude.ai/Desktop 都能连接到 Pink 的 MCP 服务器,一个拥有受限密钥的智能体可以调用 pink.request_payment 付一张已核准的发票,前提是符合控制台里设置的预算、上限和审批规则。

这只支持 Claude,还是也支持 ChatGPT? Pink 自己的连接指南里,ChatGPT 的开发者模式连接器用的是同一个 MCP 接入点,除此之外还包括 Claude Code、Claude.ai/Desktop、Anthropic 和 OpenAI 的 API、Gemini CLI、Cursor、Windsurf、VS Code、Microsoft Copilot Studio、LangChain、CrewAI 和 n8n。

是什么阻止智能体付错发票或多付? 在发出任何凭证之前,系统都会检查每个智能体的月度预算、单笔付款上限、公司层面的每日上限,以及收款方白名单。超出这些规则的请求会被拦截,或者转交给具名的人工审批人,而不是自动付款。

智能体会接触到真正的卡号或银行凭证吗? 不会。智能体持有的是一个受限范围的密钥,只能用来请求付款。返回的是一个仅对这一笔付款有效的一次性凭证,锁定在对应的收款方和金额上,发出 15 分钟后过期。

这个是免费试用的吗? 沙盒免费且无需注册,仅使用测试资金。用于支付真实发票的生产环境接入目前是通过候补名单的早期访问。

相关阅读