关于 CRA AGENT
CRA AGENT 是一款 MCP 服务,让 AI Agent 在 Arc 上使用 USDC 发现并支付 API,同时遵守模型无法更改的支出限额。它提供支付、余额、账本和收据工具,并附带用于配置及其他操作的命令行工具。
主要功能
- 01搜索 Arc 上可购买的 API
- 02查询价格并检查支出政策
- 03支付 API 调用并返回收据
- 04查看余额、账本和支付证明
- 05设置 Agent 无法更改的限额
适用场景
- 01让 Agent 在配置限额内支付已列出的 API 调用
- 02付款前检查 URL 的价格和政策许可情况
- 03检查已结算付款并验证签名收据
MCP 相关
该 MCP 服务提供工具,用于发现可付费 API、查询价格和政策、付款,以及查看收据和余额。Agent 的密钥和支出政策从环境中读取,不受模型控制。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @cra-agent/mcpCRA_NETWORKarc (mainnet) or arcTestnetCRA_KEY_FILE密钥Path to a chmod 600 file holding the agent's private key. Never put the key in a prompt.CRA_POLICYSpending limits, e.g. daily=5,per_seller=0.5,per_payment=0.05CRA_RPC_URLOptional RPC endpoints, comma separated, in priority orderDATABASE_URLOptional Postgres for the ledger; in memory without it本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@cra-agent/mcp
一个 MCP 服务,让 AI Agent 可以为 API 调用付费。Agent 调用一个工具,支付通道读取 x402 价格,检查支出策略,通过 Circle Gateway 在 Arc 上使用 USDC 付款,买方无需支付 Gas 费,并保存收据。
模型永远看不到密钥,也无法提高自己的限额:两者都会在对话开始前从环境中读取。
安装
npm i -g @cra-agent/mcp
一条命令完成设置
cra-agent init --client claude-desktop
在 ~/.cra-agent/agent.key 中创建 Agent 的密钥(仅你可读取,且绝不会覆盖),检查限额,将配置项写入客户端的配置文件并备份旧文件,然后打印需要充值的地址。--client 可选 claude-desktop、cursor、claude-code 或 terminal;--policy、--network、--key-file 和 --dry-run 的作用顾名思义。CRA Factory 会根据四个问题为你生成命令。
或者,从任意 MCP 客户端手动设置
{ "mcpServers": { "cra-agent": {
"command": "cra-agent-mcp",
"env": {
"CRA_NETWORK": "arc",
"CRA_KEY_FILE": "/path/to/agent.key",
"CRA_POLICY": "daily=5,per_seller=0.5,per_payment=0.05"
}
} } }
CRA_KEY_FILE 指向存放私钥的文件,权限应设置为 chmod 600。切勿将密钥放入提示词。
工具
| 工具 | 功能 |
|---|---|
arc_search | 根据几个词(“bitcoin price”、“web search”)查找 Arc 上可购买的内容:CRA AGENT 自有数据、CRA 市场,以及 Circle 的 x402 目录中列出的、可在 Arc 上付费的端点(Exa、Goldsky、BlockRun 等)。每项结果都会显示方法和 URL,以及示例参数、每个参数应放置的位置(查询、路径或 JSON 请求体)、价格、卖家、上架者,以及当前策略是否允许付款。免费。 |
arc_quote | 读取 URL 的价格,并说明策略是否允许付款。不付款。对于 POST 请求,请传入付款时将携带的请求体:有些卖家会在报价前检查请求体。 |
arc_pay | 为 URL 付款,并返回带有收据的响应。设置 lightning: true 时,如果卖家的 402 提供此选项,则通过 Lightning 使用比特币付款(x402 exact on lnbtc),资金来自 CRA_NWC_PAY_FILE 中的钱包,并遵守相同的美元限额。付款时会先检查 402 请求的金额,之后才会签名。maxUsdc 为单次调用设置上限:传入 arc_search 列出的价格;即使卖家涨价后仍在你的限额内,也会拒绝付款。 |
arc_balance | 查看钱包和 Circle Gateway 余额。 |
arc_deposit | 将钱包中的 USDC 转入 Gateway 余额。首次付款前需要执行一次。 |
arc_ledger | 查看每次尝试:报价、拒绝、已签名、已结算或失败。 |
arc_proof | 将已结算付款与承载该付款的链上转账相匹配。 |
arc_verify_receipt | 检查来自其他 Agent 的签名收据:谁签了名,以及付款是否符合收据中声明的限额。 |
arc_policy | 显示当前生效的限额。 |
arc_job_* | ERC-8183 托管任务。合约部署到 Arc 主网上之前,仅支持测试网。 |
一个为自身思考付费的 Agent
cra-agent think "<task>" 会运行一个小型自主 Agent,它的大脑是 Arc 上按调用付费的大模型,即 BlockRun 的聊天补全服务,可在 bazaar 中找到,默认使用 Claude Haiku 4.5。每次思考都是一次付费调用,大脑请求的每个工具也都要付费:它会先免费搜索 bazaar,然后按标价购买所需工具。全程没有 API 密钥,只有 Agent 的钱包。会话预算(--budget,默认值为 $0.10)和支出策略同时适用于思考和工具;每次思考的费用上限由 --ceiling 设定(默认值为 $0.01),而且大脑只能购买搜索结果中返回的 URL。它会打印每个步骤及其费用,最后列出账单:思考花了多少,工具花了多少。一个简短的任务只需几美分:cra-agent.tech/think 上运行的一次任务,查明了 Arc 主网何时上线以及由谁验证,花费 $0.023648,共进行了四次思考,并使用 Exa 进行了一次网页搜索。
它还知道几个免费的公共 API,无需付费即可调用,并会将这些调用标示为免费:DexScreener 的交易对、热门代币和新代币资料,并整理成能回答问题的形式(如按 24 小时交易量排列交易对)。--tools <file> 会将其限制在一组 URL 前缀内:其他内容不会展示给它,因此也不会被购买。
指定 --record 和 DATABASE_URL 后,运行过程会逐步实时保存到 Postgres,这也是页面能实时展示并在之后重放运行过程的原因。未提供问题时,--questions <file> 会从文件中选取问题,这正是我们的服务按定时器运行 Agent 的方式:文件将模板(What is the price of {coin} right now?)和列表(@coin = bitcoin (BTC) | ether (ETH))组合在一起;已记录的运行不会重复最近一百个问题中的任何一个。
任何人都可以通过 x402 upto 雇用同一个 Agent:GET https://api.cra-agent.tech/v1/upto/think?task=… 会要求你签署最多 $0.10 的付款,并收取本次运行的实际花费,另加 $0.005。arc_pay 和 cra-agent pay 可以支付这类路由,例如这一条:系统会根据费用上限检查你的策略,因为全部金额都可能被扣除,而账本会记录实际扣款。默认策略允许每笔付款最多 $0.05,因此需要将此笔付款的上限调高至 per_payment=0.10。
从 Base 或 Solana 为 Agent 充值
在 Arc 上付款需要使用 Circle Gateway 中的 USDC,而大多数 Agent 都将 USDC 存放在 Base 或 Solana 上。运行一条命令即可将其转入并存入:
cra-agent fund 5 --from base # from this agent's own wallet on Base, same key and address
cra-agent fund 5 --from solana --solana-key-file ~/sol.json # from a Solana wallet: our hex seed or solana-keygen's JSON
cra-agent fund 5 --from base --dry-run # everything checked, nothing signed
它会向 Eco 请求一条路线,并在签署任何内容前根据交易本身的 calldata 检查报价:向 Arc 域发送确切金额的 CCTP 销毁交易,铸造给该 Agent,费用低于上限(--max-fee,默认为 0.5% 或 $0.01),退款退回同一钱包。从 Base 转入时,USDC 必须存入 Eco 的 Portal 为该意图推导出的金库。之后它会等待 USDC 到达 Arc(通常只需几秒),再将其存入 Gateway,并在钱包中留出 $0.01 作为 Arc 的 Gas 费(使用 --keep 留存更多,或使用 --no-deposit 将所有资金留在钱包中)。从 Base 转入时,钱包需要少量 ETH 来支付两笔交易的费用,大约一美分;从 Solana 转入时则需要少量 SOL。模型没有可用于此操作的工具:在链之间转移资金是所有者要在终端中完成的操作。
在终端中执行相同操作
cra-agent find bitcoin price # what is for sale on Arc; needs no key (in a browser: cra-agent.tech/bazaar)
cra-agent balance
cra-agent quote https://api.cra-agent.tech/v1/paid/rpc/health
cra-agent quote https://api.exa.ai/search --body '{"query":"x402 on Arc"}' # the price of a POST, with its body
cra-agent fund 5 --from base # USDC from Base to this agent on Arc, into Gateway
cra-agent deposit 1
cra-agent withdraw 1 # Gateway balance back to the wallet; how a seller collects
cra-agent pay https://api.cra-agent.tech/v1/paid/rpc/health
cra-agent pay https://api.exa.ai/search 0.007 --body '{"query":"x402 on Arc"}' # a POST, refused above the listed price
cra-agent think "What is x402, in two sentences?" --budget 0.10 # an agent that pays for its own thinking
cra-agent proof
cra-agent verify receipt.json # needs no key and no network
cra-agent pq-key ~/.cra-agent/pq.key # a post-quantum key for receipts; prints only its public half
cra-agent verify receipt.json --require-pq --on-arc # the second signature too, and Arc's own verdict on it
每张收据都会注明付款所遵循的限额,并使用 Agent 的密钥签名,因此不在场的人也能核验。签名证明这份声明由 Agent 发出且未被篡改;链上结算则提供独立的验证。
环境
| 变量 | 含义 |
|---|---|
CRA_NETWORK | arc(主网)或 arcTestnet。默认值为 arcTestnet。 |
CRA_KEY_FILE / CRA_PRIVATE_KEY | Agent 的密钥。优先使用文件。 |
CRA_POLICY | daily=5,per_seller=0.5,per_payment=0.05,rate=120/60s,allow=a.com|b.com,deny=c.com |
CRA_RPC_URL | 可选,可设置一个或多个,以逗号分隔,按优先级排列。会在尝试 Arc 公共端点之前先尝试这些 URL。 |
CRA_RPC_STRICT | 设为 1 时绝不回退到公共端点。 |
CRA_BASE_RPC_URL / SOLANA_RPC_URL | 可选,供 fund 使用:Base 和 Solana 端点。默认使用公共端点。 |
DATABASE_URL | 可选,用于账本的 Postgres。未设置时,账本保存在内存中。 |
CRA_PQ_KEY_FILE | 可选,由 cra-agent pq-key 生成的文件。设置后,每张收据都会再使用 SLH-DSA-SHA2-128s 签名一次,这是 Arc 在链上验证的后量子方案。它保护收据,而非支付,并会让每笔支付增加约一秒耗时。 |
有两点值得了解。只有卖家的处理程序执行成功后,支付才会结算,因此失败的端点不会产生费用:https://api.cra-agent.tech/v1/paid/selftest/fail 始终返回 500,供你测试。并且,identity=required 只向在 Arc 上拥有 ERC-8004 身份的卖家付款:收款地址必须在注册表中拥有一个 Agent,或者是某个 Agent 声明用于收款的钱包。这只能证明身份存在,不能证明卖家诚信;注册只需支付 Gas 费。
CRA AGENT 的一部分
面向 AI Agent 的 Arc 支付。Arc 是 Circle 的原生支持 USDC 的 L1。网站:cra-agent.tech · 源代码:github.com/giupy997/arcagentx402 · MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。