关于 Tabularium
Tabularium 是面向 AI Agent 的持久化记忆与支出账本 MCP 服务。它以 EVM 钱包通过 x402 支付调用费用,并提供哈希链记录、离线验证及链上对账能力。
主要功能
- 01按键写入与读取持久化记忆
- 02导出并离线验证签名历史
- 03通过 x402 支付并记录收据
- 04汇总支出并核对链上付款
- 05按钱包查看签名账本头部
适用场景
- 01跨会话保存和加载 Agent 记忆
- 02追踪 Agent 购买 API 的用途与金额
- 03核验账本收据及链上结算
- 04导出可离线验证的完整记录
MCP 相关
作为 MCP 服务,它向客户端提供记忆读写、支付、账本、验证和对账工具,并附带记忆加载与支出报告提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y tabularium-mcpTABULARIUM_PRIVATE_KEY密钥0x-prefixed EVM private key of the wallet that pays (use a dedicated wallet with a small USDC balance)TABULARIUM_MAX_SPEND_USDSpend cap for this server process, in USDTABULARIUM_URLService base URL (defaults to the public deployment)TABULARIUM_PAY_MAX_USDtabularium_pay: most one purchase may cost, in USD (ceiling 0.50)TABULARIUM_PAY_NETWORKStabularium_pay: comma-separated networks it may pay on; default is the service's own network. eip155:8453 is mainnet (real money).TABULARIUM_PUBKEY密钥Optional pinned Ed25519 signing key (hex) that exports must verify against本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 今天
此工具无需参数。
详细介绍
tabularium-mcp
Tabularium 的 MCP 服务:一个面向 AI Agent 的付费、持久化、哈希链式工作区。 Agent 的 EVM 钱包通过 x402 使用 USDC 支付每次调用的费用,该钱包就是账户。无需注册,也无需 API 密钥。
工具
| 工具 | 费用 | 说明 |
|---|---|---|
tabularium_menu | 免费 | 价格、政策、网络和公开签名密钥。 |
tabularium_write | $0.003 | 追加 {key, value}。重试会复用同一个幂等键,因此重试不会重复写入。 |
tabularium_read | $0.002 | 读取某个键的最新值及其链条记录。 |
tabularium_renew | $0.25 | 将工作区有效期延长 30 天。 |
tabularium_export | $0.01 | 导出完整签名历史,并在返回前进行离线验证。save_to 会将其写入文件。 |
tabularium_head | 免费 | 任意钱包的已签名头信息(seq + hash,不含值);默认使用你的钱包。 |
tabularium_verify | 免费,本地执行 | 在不信任服务端的情况下,重新验证已保存的导出文件。 |
tabularium_pay | 端点价格 + 一次写入 | 使用 USDC 向任意 x402 v2 端点付款,并将已签名收据(原因、完整接受条款、金额、收款方、网络、交易、响应哈希,以及钱包付款前签署的意图)写入 ledger/<date>/...。purchase_id 可确保重试安全:同一 ID 不会重复付款。 |
tabularium_ledger | 一次导出 | 验证工作区并汇总收据:按服务和日期统计支出、显示最新收据;检查每个付款方签名的意图是否与收据一致。 |
tabularium_reconcile | 一次导出 | 将收据与钱包实际在链上结算的 USDC 付款进行比对(最近 1-30 天):找出没有收据的购买、没有结算的收据,以及与链上记录不一致的收据。 |
失败的调用(4xx/5xx)绝不会收费。
更多 Tabularium 服务
Tabularium 是一个平台:同一个钱包可为其提供的所有服务付款,而记忆是第一项服务。服务端启动时会读取实时菜单,并将其他每项服务的每个付费调用转换为独立工具,命名为
tabularium_<service>_<call>,并采用菜单列出的输入字段和价格。因此,下次启动 MCP 客户端时就会看到新服务,无需更新此软件包。此类工具遵循与记忆工具相同的规则:收款方必须是菜单列出的收款方,价格不得高于菜单价格(且不得超过 $0.50),会话支出上限仍然适用,并且不会跟随重定向。调用执行后才完成结算的情况下,若付款失败则不会重试,因为调用可能已经执行。任何不符合这些规则的菜单条目都会被跳过,不会自行推测处理。
提示词
MCP 客户端会列出这些现成的起点(在 Claude Code 中输入 / 即可查看):
| 提示词 | 说明 |
|---|---|
load_memory | 根据之前存储的内容开始会话:读取索引键(默认为 index),然后读取其中列出的条目。 |
spending_report | 我的 Agent 花了多少?按服务和日期汇总,并列出金额最大的购买及其原因。 |
服务端还会在模型连接时告知哪些工具免费、哪些需要付费,并提供简单的记忆模式:保留 index 键,在会话开始时读取它,并在做出决定时将决定写入其中。
支出账本
tabularium_pay 回答每位运营者都会问的问题:我的 Agent 买了什么、向谁购买、花了多少钱,原因是什么?
每笔已结算的购买都会成为 Agent 哈希链式、服务器签名工作区中的一条记录,因此可离线导出和验证,并附带链上交易哈希。安全规则:仅通过 EIP-3009 使用 USDC、仅限允许的网络、设置单笔购买上限,并在签署任何内容之前,按实际价格加上收据检查会话支出上限。收据的幂等键是其支付 nonce,因此重试不会重复记录;如果购买结算后收据写入失败,工具仍会返回购买信息和收据,以便重新记录。
付费请求绝不跟随重定向(付款和收据会留在所请求的 URL 上),无论卖家要求的有效期多长,签名授权最多有效 10 分钟。
自 0.5 版起(根据 Moltbook 的 m/agentfinance 上的评审):
- 原因是一项承诺,而不是备注。 在支付签名前,钱包会对一项意图签名(EIP-191):请求、接受的确切条款、支付 nonce 和原因。收据会保存这些内容,因此付款方之后无法修改原因,服务器也无法凭空编造原因。这仍然只是一项声明,收据也会注明这一点
(
reasonStatus)。可使用任意 EIP-191 验证器检查单条记录,或让tabularium_ledger检查所有记录。 - 承诺已写入记录。 收据会保存付款方接受的完整
accepts[]条目及其哈希,并与支付(交易)和交付(响应哈希)一同记录。 - 重试不会重复付款。 使用
purchase_id时,签名授权会一直保存在(TABULARIUM_STATE_DIR)中,直到确认购买已结算。再次调用时会发送相同的授权,而该授权最多只能结算一次;如果某笔购买已结算但响应丢失,系统会在链上找到它并只记录一次。 - 完整性可验证。 哈希链能证明记录行未被修改,但不能证明没有遗漏。
tabularium_reconcile会将钱包的链上结算数量与其收据进行核对。
配置
| 环境变量 | 必填 | 含义 |
|---|---|---|
TABULARIUM_PRIVATE_KEY | 付费工具必填 | 用于付款的 0x 前缀 EVM 私钥。请使用余额较少的专用钱包。 |
TABULARIUM_URL | 否 | 服务 URL。默认值:公共部署(Base 主网)。 |
TABULARIUM_PUBKEY | 否 | 固定服务器的 Ed25519 密钥(十六进制)。导出内容会根据此密钥进行验证;如果与已发布的密钥不匹配,则会报告。 |
TABULARIUM_MAX_SPEND_USD | 否 | 此服务器进程在所有工具上的支出上限。默认值为 1。 |
TABULARIUM_PAY_MAX_USD | 否 | tabularium_pay:单次购买的最高金额。默认值为 0.10,上限为 0.50。 |
TABULARIUM_TEST | 否 | 将此进程向服务发出的请求标记为测试流量,不计入服务的公开需求统计。供服务自身运行测试时使用。 |
TABULARIUM_RPC_URL | 否 | 服务所在网络的 JSON-RPC,供 tabularium_reconcile 使用,并用于检查尚未确认的付款是否已结算。默认值:公共 Base 节点。 |
TABULARIUM_STATE_DIR | 否 | 存储 purchase_id 记录的位置。默认值为 ~/.tabularium-mcp。 |
TABULARIUM_PAY_NETWORKS | 否 | tabularium_pay:允许付款的网络(以逗号分隔的 CAIP-2)。默认值:服务自身所在的网络;对于公共服务,该网络为 Base 主网(eip155:8453):购买会使用真实 USDC,且受 TABULARIUM_PAY_MAX_USD 和支出上限限制。设置为 eip155:84532 可让购买仅在测试网上进行。 |
公共服务运行在 Base 主网:付款钱包需要持有 Base 上的真实 USDC。无需 ETH,因为交易费用由协调方支付。请使用只存有少量资金的专用钱包。
Claude Code:
claude mcp add tabularium --env TABULARIUM_PRIVATE_KEY=0x... -- npx -y tabularium-mcp
Claude Desktop / 其他客户端(mcpServers JSON):
{
"tabularium": {
"command": "npx",
"args": ["-y", "tabularium-mcp"],
"env": { "TABULARIUM_PRIVATE_KEY": "0x...", "TABULARIUM_MAX_SPEND_USD": "0.50" }
}
}
支持 x402 v2。依赖项有三个(MCP SDK、viem、zod)。付款在本地签名(EIP-3009 USDC 授权);服务器拒绝签署任何非 USDC、收款方不符或价格不在服务自身菜单列表中的付款。 0.2.0 之前的版本使用 x402 v1,现已无法连接此服务。
开发
npm install
cp ../verifier/verify.mjs verify.mjs # 也会在 prepack 时运行;如果副本发生偏差,根目录测试会失败
npm test # 离线测试:付款限制(拒绝错误资产/收款方/价格/网络)、服务工具
node smoke.mjs # 通过 stdio 对在线服务进行 30 项检查(PAYER_FILE 用于选择钱包)
node smoke.mjs --npx tabularium-mcp@X # 对已发布的版本执行相同检查
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。