节奏mcp
](https://npmjs.com/package/tempo-mcp)
用于Tempo区块链稳定币支付的MCP服务器 --使AI代理能够自主执行现实世界的支付。
仅限测试网 --该MCP目前在Tempo测试网上运行。没有使用真正的资金。非常适合实验和开发!
______________________________________________________________________
太长,读不下去了
添加到Claude桌面配置(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"tempo": {
"command": "npx",
"args": ["tempo-mcp"],
"env": { "TEMPO_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY" }
}
}
}然后问克劳德: *“我的AlphaUSD余额是多少?”*
需要测试网令牌吗? 获取免费AlphaUSD docs.tempo.xyz/水龙头
______________________________________________________________________
我能问什么?
| 你说 | 发生了什么 |
|---|---|
| “我的余额是多少?” | 检查您的AlphaUSD余额 |
| “向0x发送100个AlphaUSD…” | 发送单笔付款 |
| “支付发票INV-001 500美元至0x…” | 带对账备忘录的付款 |
| “处理员工的工资单.csv” | 批量向多个收件人付款 |
| “向50个供应商发送并发付款” | 并行付款(比顺序付款快10-100倍) |
| “将1000 AlphaUSD兑换为BetaUSD” | 在Tempo DEX上兑换稳定币 |
| “计划明天上午9点支付200美元至0x…” | 未来日期付款 |
| “谁在AlphaUSD上拥有ISSUER_ROLE?” | 查询令牌角色成员 |
| “将PAUSE_ROLE授予0x…” | 为地址分配角色(需要管理员) |
| “暂停AlphaUSD代币” | 紧急暂停所有转账 |
| “创建白名单政策” | 创建新的TIP-403合规政策 |
| “0x…是否在策略1中列入白名单?” | 检查地址合规性状态 |
| “将0x…添加到白名单” | 白名单地址(需要策略所有者) |
| “0x…可以传输到0x…吗?” | 预验证传输合规性 |
| “用赞助的天然气向0x发送100 AlphaUSD” | 无天然气付款(由赞助商支付的费用) |
| “赞助商的余额是多少?” | 检查费用赞助商代币余额 |
| “获取0x的访问密钥信息…” | 查询会话密钥详细信息和状态 |
| “检查访问密钥0x的剩余限制…” | 查看剩余支出限额 |
| “吊销访问密钥0x…” | 永久禁用会话密钥 |
| “我的AlphaUSD奖励状态如何?” | 查看选择加入状态和待定奖励 |
| “选择加入AlphaUSD奖励” | 开始按比例获得代币奖励 |
| “分发1000个AlphaUSD奖励” | 向已选择的持有者分发奖励 |
| “领取我的待定奖励” | 将累积奖励存入您的钱包 |
| “AlphaUSD的AMM池费用信息是什么?” | 检查池储备和LP供应 |
| “在费用AMM中增加1000 AlphaUSD流动性” | 提供流动性以赚取转换费 |
| “我在费用AMM中的LP头寸是多少?” | 查看您的股票和基础代币价值 |
| “显示AlphaUSD订单簿” | 查看DEX上的买卖水平 |
| “在-10点时以100 AlphaUSD进行限价买入” | 创建0.9999美元的休息订单 |
| “下翻转订单:在-10时买入,在10时翻转卖出” | 自动反转做市商订单 |
| “我的未结订单是什么?” | 列出您的活跃DEX订单 |
| “取消订单12345” | 取消未结订单并获得退款 |
______________________________________________________________________
什么是节拍mcp?
节奏mcp是一个 模型上下文协议(MCP) 连接人工智能助手和 Tempo区块链,为代理商务实现自主稳定币支付。
为什么这很重要
人工智能代理正在从助手演变为可以采取现实世界行动的自主行动者。然而,他们目前缺乏安全处理金融交易的能力。tempo-mcp通过提供以下功能来解决这个问题:
- 自主支付:AI代理可以在没有人为干预的情况下发送稳定币支付
- 内置安全:支出限制、地址分配和利率限制可防止失控交易
- 审计跟踪:记录每笔交易以进行合规和对账
- 备忘录支持:32字节备忘录支持发票匹配和付款对账
用例
- 工资自动化:处理CSV文件中的批量付款
- 发票结算:使用备注字段将付款与发票匹配
- 资金管理:自动重新平衡多代币投资组合
- 小额付费:启用按使用付费的人工智能服务
- 合规管理:自动化KYC/AML白名单维护和转账验证
- 委托代理人签名:使用具有支出限制的AI代理的访问密钥(会话密钥)
- 费用流动性准备金:通过向天然气转换费AMM提供流动性来赚取收益
- 自动化做市:下达在买入/卖出之间波动的翻转订单,以进行稳定币套利
______________________________________________________________________
特性
支付操作
- 单笔付款 --使用可选备忘录发送TIP-20稳定币转账
- 批量付款 --原子多收件人传输(最多100个收件人)
- 并发付款 --使用nonceKeys并行执行(大批量执行速度快10-100倍)
- 计划付款 --具有执行窗口的协议级未来支付
- 赞助付款 --赞助商支付费用的无气交易(本地密钥或中继服务)
查询操作
- 余额查询 --检查单个或多个令牌余额
- 交易查询 --获取交易详情和历史记录
- 天然气估算 --估算交易成本
令牌操作
- 代币创建 --通过工厂合约部署新的TIP-20代币
- 薄荷/烧伤 --代币供应管理(需要ISSUER_ROLE)
- 交换 --在Tempo的原生DEX上交换稳定币
- 角色管理 --授予、撤销和查询TIP-20角色(管理员、颁发者、暂停、取消使用)
- 暂停控制 --紧急暂停/取消暂停令牌传输(需要pause_ROLE/unpause_ROLE)
- 政策合规 --TIP-403白名单/黑名单管理和转移前验证
- 奖励管理 --TIP-20选择加入奖励:选择加入/退出、领取奖励、设置收件人、查看状态
- AMM流动性费用 --为天然气费用转换池提供流动性,并从稳定币掉期中获利
- DEX高级订单 --限价订单、翻转订单(自动反转)、订单簿查询和订单管理
安全
- 支出限额 --每个代币和每日美元限额
- 地址允许列表 --白名单或黑名单收件人地址
- 速率限制 --每种操作类型的可配置限制
- 审计日志 --带请求跟踪的结构化JSON日志
- 访问密钥(会话密钥) --具有每个令牌支出限制和到期的委托签名
钱包支持
- 私钥 --开发/测试的直接密钥
- 密钥库 --用于生产的加密JSON密钥库
- 外部签名者 --企业交钥匙/防火墙集成
______________________________________________________________________
快速开始
先决条件
- Node.js 20.0.0或更高版本
- npm、pnpm或yarn
- 带有AlphaUSD代币的Tempo测试网钱包
第一次? 在以下网址获取钱包和免费测试网代币 docs.tempo.xyz/水龙头
安装
通过npm(全局安装):
npm install -g tempo-mcp通过npx(无需安装):
npx tempo-mcp来源:
git clone https://github.com/arome3/tempo-mcp
cd tempo-mcp
npm install
npm run build配置
- 创建
.env文件:
cp .env.example .env- 添加您的钱包私钥:
# Required
TEMPO_PRIVATE_KEY=0x... # Your wallet private key
# Network (defaults to testnet)
TEMPO_RPC_URL=https://rpc.testnet.tempo.xyz
TEMPO_CHAIN_ID=42429- 运行服务器:
npm start
# or
npx tempo-mcp______________________________________________________________________
使用IDE进行安装
请在下面选择您的MCP客户端,以获取详细的设置说明。
注: 如果您使用的是此处未列出的客户端,您仍然可以通过手动将服务器配置添加到客户端的mcp设置中来使用tempo-mcp。
______________________________________________________________________
克劳德桌面版
下载并安装 克劳德桌面版 如果你还没有。
手动设置:
- 打开克劳德桌面
- 首选 设置 (齿轮图标)→ 开发者
- 点击 编辑配置 打开配置文件
- macOS/Linux: ~/.config/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 添加以下配置:
{
"mcpServers": {
"tempo": {
"command": "npx",
"args": ["tempo-mcp"],
"env": {
"TEMPO_PRIVATE_KEY": "0x...",
"TEMPO_RPC_URL": "https://rpc.testnet.tempo.xyz"
}
}
}
}- 保存文件并重新启动Claude Desktop
______________________________________________________________________
克劳德代码(CLI)
安装 克劳德代码 如果你还没有。
1-单击设置:
claude mcp add tempo-mcp -e TEMPO_PRIVATE_KEY=0x... -- npx tempo-mcp手动设置:
- 打开终端
- 跑
claude mcp add tempo-mcp添加服务器 - 或者直接编辑配置文件:
- macOS: ~/.claude/settings.json - Linux: ~/.claude/settings.json - 窗户: %USERPROFILE%\.claude\settings.json
- 添加配置:
{
"mcpServers": {
"tempo": {
"command": "npx",
"args": ["tempo-mcp"],
"env": {
"TEMPO_PRIVATE_KEY": "0x..."
}
}
}
}- 验证
/mcpClaude Code中的命令
______________________________________________________________________
光标
下载并安装 光标 如果你还没有。
手动设置:
- 在Cursor中打开项目并导航到 光标设置 (macOS上的⌘+Shift+J)
- 在设置菜单中,转到 主控程序 章节
- 点击 新建MCP服务器。这将打开您的
mcp.json配置文件
- 全球的: ~/.cursor/mcp.json - 项目级别: .cursor/mcp.json (以项目根为单位)
- 添加以下配置:
{
"mcpServers": {
"tempo": {
"command": "npx",
"args": ["tempo-mcp"],
"env": {
"TEMPO_PRIVATE_KEY": "0x..."
}
}
}
}- 保存并重新启动游标
提示: 项目级配置(.cursor/mcp.json)覆盖全局配置。______________________________________________________________________
帆板运动
下载并安装 帆板运动 如果你还没有。
手动设置:
- 打开Windsurf,前往 设置 (⌘+,在macOS上)
- 导航到 级联 → 插件
- 点击 查看原始配置 打开MCP配置文件
- macOS: ~/.codeium/windsurf/mcp_config.json - Linux: ~/.config/.codeium/windsurf/mcp_config.json - 窗户: %USERPROFILE%\.codeium\windsurf\mcp_config.json
- 添加以下配置:
{
"mcpServers": {
"tempo": {
"command": "npx",
"args": ["tempo-mcp"],
"env": {
"TEMPO_PRIVATE_KEY": "0x..."
}
}
}
}- 保存并重新启动Windsurf
______________________________________________________________________
VS代码+继续
安装 继续扩展 在VS代码中。
手动设置:
- 打开VS Code并单击侧栏中的Continue图标
- 点击齿轮图标→ 打开config.yaml
- macOS: ~/.continue/config.yaml - Linux: ~/.continue/config.yaml - 窗户: %USERPROFILE%\.continue\config.yaml
- 添加以下配置(YAML格式):
mcpServers:
- name: tempo
command: npx
args:
- tempo-mcp
env:
TEMPO_PRIVATE_KEY: "0x..."- 保存并重新加载VS代码
注: MCP工具仅在Continue中可用 代理模式.
______________________________________________________________________
克莱恩
安装 临床扩展 在VS代码中。
手动设置:
- 打开VS Code并单击侧栏中的Cline图标
- 点击 MCP服务器 顶部导航栏中的图标
- 选择 配置 选项卡,然后单击 高级MCP设置
- 这将在以下位置打开配置文件:
- macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 窗户: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json - Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- 添加以下配置:
{
"mcpServers": {
"tempo": {
"command": "npx",
"args": ["tempo-mcp"],
"env": {
"TEMPO_PRIVATE_KEY": "0x..."
},
"alwaysAllow": [],
"disabled": false
}
}
}- 保存后,服务器将立即可用
______________________________________________________________________
通用MCP客户端
对于自定义MCP客户端或编程使用:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["tempo-mcp"],
env: {
TEMPO_PRIVATE_KEY: process.env.TEMPO_PRIVATE_KEY,
},
});
const client = new Client({ name: "my-agent", version: "1.0.0" }, {});
await client.connect(transport);
// Now you can call tools
const result = await client.callTool({
name: "get_balance",
arguments: { token: "AlphaUSD" },
});______________________________________________________________________
MCP工具参考
支付工具(高风险)
| 工具 | 说明 | 关键参数 |
|---|---|---|
send_payment | 发送一次TIP-20代币转账 | token, to, amount, memo? |
batch_payments | 原子多接收者传输 | token, payments[] (最多100) |
schedule_payment | 创建计划的未来付款 | token, to, amount, executeAt |
cancel_scheduled_payment | 取消待定的计划付款 | transactionHash |
send_sponsored_payment | 无气支付(赞助商支付费用) | token, to, amount, useRelay? |
estimate_sponsored_gas | 估算赞助交易的天然气 | token, to, amount, feeToken? |
get_sponsor_balance | 检查赞助商的代币余额 | sponsor?, token? |
send_concurrent_payments | 使用非eKeys的并行支付(速度快10-100倍) | payments[], startNonceKey? |
get_nonce_for_key | 获取特定nonceKey的nonce | nonceKey, address? |
list_active_nonce_keys | 列出所有nonce大于0的nonceKeys | address? |
查询工具(低风险)
| 工具 | 说明 | 关键参数 |
|---|---|---|
get_balance | 获取地址的令牌余额 | token, address? |
get_balances | 获取多个代币余额 | tokens[], address? |
get_account_info | 获取账户详细信息(类型、交易计数) | address |
get_transaction | 按哈希值获取交易 | hash |
get_gas_estimate | 估算交易的天然气 | to, amount, token |
代币工具(高风险)
| 工具 | 说明 | 关键参数 |
|---|---|---|
create_token | 部署新的TIP-20代币 | name, symbol, decimals, initialSupply |
get_token_info | 获取令牌元数据 | token |
mint_tokens | 薄荷代币(需要角色) | token, to, amount |
burn_tokens | 销毁令牌(需要角色) | token, amount |
grant_role | 为地址授予角色 | token, role, account |
revoke_role | 从地址中撤销角色 | token, role, account |
renounce_role | 放弃自己的角色 | token, role |
has_role | 检查地址是否具有角色 | token, role, account |
get_role_members | 列出角色的所有成员 | token, role |
pause_token | 暂停所有代币转移 | token, reason? |
unpause_token | 恢复令牌转移 | token, reason? |
政策工具(TIP-403合规性)
| 工具 | 说明 | 关键参数 |
|---|---|---|
create_policy | 制定新的合规政策 | policyType, admin?, initialAccounts? |
check_transfer_compliance | 预验证是否允许转移 | token, from, to |
get_policy_info | 获取政策详细信息 | policyId |
is_whitelisted | 检查地址是否已列入白名单 | policyId, account |
is_blacklisted | 检查地址是否被列入黑名单 | policyId, account |
add_to_whitelist | 将地址添加到白名单 | policyId, account |
remove_from_whitelist | 从白名单中删除 | policyId, account |
add_to_blacklist | 阻止地址 | policyId, account |
remove_from_blacklist | 解锁地址 | policyId, account |
burn_blocked_tokens | 从被阻止的地址销毁令牌 | token, blockedAddress, amount |
策略类型:whitelist(只有批准的地址才能进行交易)或blacklist(块特定地址)。内置策略:0(始终拒绝),1(始终允许)。自定义策略从ID 2开始。
访问密钥工具(会话密钥)
| 工具 | 说明 | 关键参数 |
|---|---|---|
get_access_key_info | 获取访问密钥详细信息(类型、到期、限制) | accountAddress, keyId |
get_remaining_limit | 检查剩余支出限额 | accountAddress, keyId, token |
revoke_access_key | 永久禁用访问密钥 | keyId |
update_spending_limit | 修改密钥的令牌支出限制 | keyId, token, newLimit |
奖励工具(TIP-20奖励)
| 工具 | 说明 | 关键参数 |
|---|---|---|
opt_in_rewards | 选择加入代币奖励计划 | token |
opt_out_rewards | 选择退出奖励(可选索赔待定) | token, claimPending? |
claim_rewards | 申请待决奖励 | token |
distribute_rewards | 向选择加入的持有人(发行人)分配奖励 | token, amount, duration? |
get_pending_rewards | 查看待定奖励金额 | token, address? |
set_reward_recipient | 设置奖励的自动转发地址 | token, recipient |
get_reward_status | 获取完整的奖励状态和代币统计信息 | token, address? |
持续时间:设置 duration=0 用于即时分发。计划为未来的协议更新提供基于时间的流媒体奖励(持续时间>0)。Exchange工具
| 工具 | 说明 | 关键参数 |
|---|---|---|
get_swap_quote | 获取DEX掉期报价 | fromToken, toToken, amount |
swap_stablecoins | 执行稳定币交换 | fromToken, toToken, amount, slippage? |
费用AMM工具(流动性管理)
| 工具 | 说明 | 关键参数 |
|---|---|---|
get_fee_pool_info | 获取池储备、LP供应和掉期利率 | userToken, validatorToken? |
get_lp_position | 检查LP余额和基础代币价值 | userToken, validatorToken?, address? |
estimate_fee_swap | 费用代币转换的报价输出 | fromToken, toToken, amount |
add_fee_liquidity | 增加流动性以赚取转换费 | userToken, amountUser, amountValidator |
remove_fee_liquidity | 提取流动性和LP代币 | userToken, lpAmount |
DEX高级工具(订单交易)
| 工具 | 说明 | 关键参数 |
|---|---|---|
place_limit_order | 在订单簿上下达休息限价订单 | token, amount, side, tick |
place_flip_order | 下达自动反转订单进行做市 | token, amount, side, tick, flipTick |
cancel_order | 取消未结订单并退还代币 | orderId |
get_orderbook | 查看买卖水平和价差 | baseToken, quoteToken?, depth? |
get_my_orders | 列出您的未完成/已完成/已取消订单 | token?, status? |
get_order_status | 获取订单详细信息并填写百分比 | orderId |
Tick定价:价格=1+分/100000。勾0=1.0000美元,勾-10=0.9999美元,勾10=1.0001美元
______________________________________________________________________
MCP资源参考
资源通过URI模式提供对区块链数据的只读访问:
| URI模式 | 描述 | |
|---|---|---|
tempo://network | 网络配置和当前块 | |
tempo://account/{address} | 账户信息和代币余额 | |
tempo://token/{address} | TIP-20代币元数据 | |
tempo://token/{address}/roles | 令牌角色分配和暂停状态 | |
tempo://token/{address}/rewards | 代币奖励状态(选择加入、待定、统计数据) | |
tempo://tx/{hash} | 交易详情 | |
| `tempo://block/{number\ | "latest"}` | 块信息 |
tempo://policy/{id} | TIP-403政策详细信息(类型、所有者、代币计数) | |
tempo://policy/{id}/whitelist/{address} | 检查地址是否已列入白名单 | |
tempo://policy/{id}/blacklist/{address} | 检查地址是否被列入黑名单 | |
tempo://access-key/{account}/{keyId} | 访问密钥信息(类型、到期、已撤销状态) | |
tempo://access-key/{account}/{keyId}/limit/{token} | 代币剩余消费限额 | |
tempo://fee-amm/{userToken}/{validatorToken} | 费用AMM池信息(储备、LP供应、掉期利率) | |
tempo://dex/orderbook/{baseToken} | 带有买卖水平的DEX订单簿 | |
tempo://dex/order/{orderId} | 订单详细信息和填写状态 |
示例用法:
Read tempo://account/0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb______________________________________________________________________
MCP提示参考
提示提供可重用的对话模板:
| 提示 | 说明 | 参数 |
|---|---|---|
payment-receipt | 生成格式化的付款收据 | transactionHash |
reconciliation-report | 将交易记录与发票匹配 | startDate, endDate, memoPrefix? |
payroll-summary | 汇总批量付款结果 | batchTransactionHash |
spending-report | 按收件人分析支出 | period, groupBy? |
role-audit | 审核令牌角色分配 | token |
compliance-report | 生成TIP-403合规状态报告 | addresses, policyId?, token? |
rewards-summary | 总结奖励状态和未决索赔 | token, address? |
fee-amm-summary | 总结费用AMM池状态和LP头寸 | userToken, address? |
______________________________________________________________________
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
| 网络 | ||
TEMPO_RPC_URL | RPC端点URL | https://rpc.testnet.tempo.xyz |
TEMPO_CHAIN_ID | 链ID | 42429 |
TEMPO_EXPLORER_URL | 阻止浏览器URL | https://explore.tempo.xyz |
| 钱包 | ||
TEMPO_PRIVATE_KEY | 钱包私钥(前缀0x) | -- |
TEMPO_KEYSTORE_PATH | 加密密钥库的路径 | -- |
TEMPO_KEYSTORE_PASSWORD | 密钥库解密密码 | -- |
| 安全 | ||
TEMPO_MAX_SINGLE_PAYMENT | 最大单笔付款金额 | 1000 |
TEMPO_DAILY_LIMIT | 每日消费限额 | 10000 |
TEMPO_ALLOWLIST_ENABLED | 启用地址限制 | false |
TEMPO_RATE_LIMIT | 每分钟最多工具调用次数 | 60 |
| 日志记录 | ||
TEMPO_LOG_LEVEL | 日志级别(调试/信息/警告/错误) | info |
TEMPO_AUDIT_LOG_ENABLED | 启用审核日志记录 | true |
TEMPO_AUDIT_LOG_PATH | 审核日志文件路径 | ./logs/audit.jsonl |
| 费用赞助 | ||
TEMPO_FEE_SPONSORSHIP_ENABLED | 启用无气体事务 | false |
TEMPO_FEE_PAYER_TYPE | 赞助商模式(local 或 relay) | local |
TEMPO_FEE_PAYER_ADDRESS | 缴费人钱包地址 | -- |
TEMPO_FEE_PAYER_KEY | 缴费者私钥(本地模式) | -- |
TEMPO_FEE_RELAY_URL | 中继服务URL | https://sponsor.testnet.tempo.xyz |
| 代币 | ||
TEMPO_DEFAULT_TOKEN | 默认支付令牌 | AlphaUSD |
配置文件
创建 tempo-mcp.config.yaml 对于高级配置:
network:
rpcUrl: https://rpc.testnet.tempo.xyz
chainId: 42429
explorerUrl: https://explore.tempo.xyz
wallet:
type: privateKey # or 'keystore', 'external'
security:
spendingLimits:
maxSinglePayment:
"*": "1000" # Default for all tokens
AlphaUSD: "5000" # Override for specific token
dailyLimit:
"*": "10000"
dailyTotalUSD: "50000"
maxBatchSize: 50
maxBatchTotalUSD: "25000"
addressAllowlist:
enabled: true
mode: allowlist # or 'blocklist'
addresses:
- "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb"
labels:
"0x742d35Cc...": "Payroll Account"
rateLimits:
toolCalls:
windowMs: 60000
maxCalls: 60
highRiskOps:
windowMs: 3600000
maxCalls: 100
logging:
level: info
auditLog:
enabled: true
path: ./logs/audit.jsonl
rotationDays: 30
feeSponsorship:
enabled: true
feePayer:
type: local # or 'relay' for testnet relay service
address: "0x..." # Fee payer wallet address
privateKey: "0x..." # Fee payer private key (local mode only)
relayUrl: "https://sponsor.testnet.tempo.xyz" # Relay endpoint
maxSponsoredPerDay: "1000" # Daily sponsorship limit配置优先
- 环境变量 (最高优先级)
- 配置文件 (速度mcp.config.yaml/yml/json)
- 默认值 (最低优先级)
______________________________________________________________________
安全
tempo-mcp包括多个安全层,以防止未经授权的交易:
支出限额
防止大额或超额付款:
security:
spendingLimits:
maxSinglePayment:
"*": "1000" # Max $1000 per transaction
dailyLimit:
"*": "10000" # Max $10,000 per day per token
dailyTotalUSD: "50000" # Max $50,000 per day total地址允许列表
限制哪些地址可以接收付款:
security:
addressAllowlist:
enabled: true
mode: allowlist # Only allow listed addresses
addresses:
- "0x..." # Approved recipient
labels:
"0x...": "Vendor A" # Human-readable label速率限制
防止滥用和失控的代理人:
security:
rateLimits:
toolCalls:
windowMs: 60000 # 1 minute window
maxCalls: 60 # Max 60 calls per minute
highRiskOps:
windowMs: 3600000 # 1 hour window
maxCalls: 100 # Max 100 high-risk ops per hour审计日志
所有操作均已记录以确保合规性:
{"timestamp":"2024-12-17T10:30:00Z","requestId":"abc123","tool":"send_payment","status":"success","tx":"0x...","amount":"100","to":"0x..."}______________________________________________________________________
例子
基本付款
User: "Send 50 AlphaUSD to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb"
→ Claude calls send_payment({
token: "AlphaUSD",
to: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb",
amount: "50"
})
→ Returns: {
success: true,
transactionHash: "0xabc123...",
explorerUrl: "https://explore.tempo.xyz/tx/0xabc123..."
}凭备忘录付款(发票对账)
User: "Pay invoice #INV-2024-001 for 1500 AlphaUSD to 0x..."
→ Claude calls send_payment({
token: "AlphaUSD",
to: "0x...",
amount: "1500",
memo: "INV-2024-001"
})批量工资单
User: "Process this month's payroll from employees.csv"
→ Claude calls batch_payments({
token: "AlphaUSD",
payments: [
{ to: "0x...", amount: "5000", label: "Alice" },
{ to: "0x...", amount: "4500", label: "Bob" },
{ to: "0x...", amount: "6000", label: "Carol" }
]
})赞助(无气)付款
User: "Send 100 AlphaUSD to 0x... using sponsored gas"
→ Claude calls send_sponsored_payment({
token: "AlphaUSD",
to: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbb",
amount: "100",
useRelay: false // Use local fee payer
})
→ Returns: {
success: true,
transactionHash: "0xdef456...",
feePayer: "0xabc...",
feeAmount: "0.000073"
}代理示例
在中探索完整的代理实现 /examples 目录:
| 示例 | 说明 |
|---|---|
| 基本用法 | 简单的余额检查和付款 |
| 工资代理 | 基于CSV的批量工资处理 |
| 发票代理 | AP自动化与备忘录对账 |
| 国库代理人 | 多代币投资组合管理 |
| 合规代理 | TIP-403白名单/黑名单管理 |
| 做市商代理 | DEX订单簿交易与翻转订单 |
______________________________________________________________________
发展
设置
git clone https://github.com/arome3/tempo-mcp
cd tempo-mcp
npm install可用脚本
| 脚本 | 描述 |
|---|---|
npm run dev | 从热重新加载开始(tsx手表) |
npm run build | 构建TypeScript以进行dist/ |
npm start | 运行已编译的服务器 |
npm test | 在监视模式下运行测试 |
npm run test:run | 运行一次测试(CI模式) |
npm run lint | 运行ESLint |
npm run format | 带Prettier的格式 |
npm run typecheck | TypeScript类型检查 |
测试
# Run all tests
npm test
# Run with coverage
npm run test:run -- --coverage
# Run specific test file
npm test -- src/security/spending-limits.test.ts______________________________________________________________________
网络信息
Tempo测试网(安坦蒂诺)
| 财产 | 价值 |
|---|---|
| 链ID | 42429 |
| RPC URL | https://rpc.testnet.tempo.xyz |
| 探索者 | https://explore.tempo.xyz |
| 阻塞时间 | ~0.6秒 |
| 水龙头 | docs.tempo.xyz/quickstart/水龙头 |
默认令牌
| 令牌 | 地址 |
|---|---|
| AlphaUSD | 0x20c0000000000000000000000000000000000001 |
______________________________________________________________________
文档
______________________________________________________________________
技术栈
| 类别 | 技术 |
|---|---|
| 语言 | TypeScript 5.7 |
| 运行时 | Node.js 20+ |
| 协议 | MCP SDK 1.0 |
| 区块链 | 视频2.21,模板0.10 |
| 验证 | Zod 3.25 |
| 日志记录 | 引脚8.21 |
| 构建 | tsup,tsx |
| 测试 | Vitest |
| Linting | ESLint,更漂亮 |
______________________________________________________________________
故障排除
“连接被拒绝”错误
- 确保已安装Node.js 20+:
node --version - 检查一下
TEMPO_PRIVATE_KEY已在配置中设置
“余额不足”错误
- 从获取测试网令牌 水龙头
- 核实您的余额:问克劳德 *“我的余额是多少?”*
“超出支出限制”
- 增加
TEMPO_MAX_SINGLE_PAYMENT在您的环境或配置文件中 - 检查
TEMPO_DAILY_LIMIT如果你今天做了很多交易
“找不到令牌”错误
- 使用令牌符号(
AlphaUSD)或完整地址(0x20c0...0001) - 检查中支持的令牌 网络信息 章节
服务器未响应
- 配置更改后重新启动Claude Desktop
- 检查日志:
tail -f ~/.config/Claude/logs/mcp*.log
______________________________________________________________________
许可证
MIT许可证——见 许可证 了解详情。
______________________________________________________________________
致谢
______________________________________________________________________
连接
建造于 亚伯拉罕 奥诺亚
 
有问题、反馈或想合作?伸出手来!
______________________________________________________________________
Built for the age of agentic commerce
