返回市场
apk-mcp-llm钱包服务器

apk-mcp-llm钱包服务器

作者:0xPolygon5 星标更新:2025-11-03

项目介绍

LLM Wallet MCP Server

通用的MCP(模型上下文协议)服务器,提供钱包功能和x402微支付功能给任何AI代理。此服务器使AI代理能够创建钱包、管理消费限额,并自动处理付费API的微支付。

此MCP服务器的功能

此服务器提供了18个MCP工具,允许AI代理进行以下操作:

  • 创建和管理加密钱包(带有私钥加密的HD钱包)
  • 检查余额(跨网络,如Polygon和Polygon Amoy)
  • 自动执行微支付到受x402保护的API
  • 强制执行消费限额(每笔交易和每日限额)
  • 跟踪支付历史和交易日志
  • 注册任何付费API作为MCP工具以方便重复使用
  • 支持多个网络(测试网和主网)

第一步:添加到您的MCP配置

对于Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "LLM Wallet": {
      "command": "npx",
      "args": ["llm-wallet-mcp"],
      "env": {
        "NETWORK": "polygon-amoy"
      }
    }
  }
}

对于Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "LLM Wallet": {
      "command": "npx",
      "args": ["llm-wallet-mcp"],
      "env": {
        "NETWORK": "polygon-amoy"
      }
    }
  }
}

第二步:验证安装

在您的MCP客户端中,您现在应该看到有18个工具可用:

  • 4个钱包管理工具
  • 2个消费限额工具
  • 2个x402买家工具
  • 5个x402卖家工具
  • 4个动态API工具

⚠️ 开发通知:此包仍在开发中。建议仅在测试网(polygon-amoy)上使用,或如果在主网上使用,请仅使用小额金额。不要在生产环境中使用。

完整的买家流程示例

这里有一个从头到尾使用LLM Wallet MCP服务器的完整示例:

第一步:创建或导入一个钱包

选项A:创建新钱包

# 在Cursor聊天中:
创建一个新的钱包,标签为"my-agent-wallet"

选项B:导入现有钱包

# 在Cursor聊天中:
使用私钥0x1234...和标签"my-wallet"导入钱包

预期响应:

{
  "success": true,
  "address": "0x742d35Cc6635C0532925a3b8D2A0a7e3E4b1b4e4",
  "label": "my-agent-wallet",
  "netwerk": "polygon-amoy"
}

第二步:检查钱包余额

# 在Cursor聊天中:
检查my-agent-wallet的余额

第三步:设置消费限额(可选但推荐)

# 在Cursor聊天中:
@LLM Wallet 设置消费限额:每笔交易最多$0.10,每日限额$5.00

预期响应:

{
  "success": true,
  "limits": {
    "perTransaction": "0.10",
    "dailyLimit": "5.00",
    "dailySpent": "0.00"
  }
}

第四步:将付费API注册为MCP工具

# 在Cursor聊天中:
将位于http://localhost:4021/weather的天气API注册为名为"weather_api"的付费MCP工具

预期响应:

{
  "success": true,
  "toolName": "weather_api",
  "endpoint": "http://localhost:4021/weather",
  "requiresPayment": true,
  "maxAmount": "0.001"
}

第五步:调用付费API(完整的x402流程)

# 在Cursor聊天中:
调用weather_api工具,位置"Londong"

幕后发生的事情:

  1. ✅ MCP服务器调用http://localhost:4021/weather?location=London
  2. ✅ 服务器响应402 Payment Required并提供支付需求
  3. ✅ MCP服务器自动创建签名支付授权
  4. ✅ MCP服务器重试请求,附带X-Payment头部
  5. ✅ 卖家通过协调者验证支付
  6. ✅ 卖家返回天气数据
  7. ✅ 支付记录在钱包历史中

预期响应:

{
  "location": "London",
  "temperature": 15,
  "condition": "多云",
  "humidity": 78,
  "payment": {
    "amount": "0.001",
    "status": "已完成",
    "transactionId": "0xabc123..."
  }
}

第六步:检查支付历史

# 在Cursor聊天中:
@LLM Wallet 显示my-agent-wallet的支付历史

预期响应:

{
  "payments": [
    {
      "timestamp": "2025-01-14T15:30:45Z",
      "recipient": "0xCA3953e536bDA86D1F152eEfA8aC7b0C82b6eC00",
      "amount": "0.001",
      "status": "已完成",
      "resource": "http://localhost:4021/weather",
      "transactionId": "0xabc123..."
    }
  ],
  "dailySpent": "0.001",
  "remainingDailyLimit": "4.999"
}

第七步:检查更新后的消费限额

# 在Cursor聊天中:
@LLM Wallet 检查当前消费限额和每日使用情况

预期响应:

{
  "limits": {
    "perTransaction": "0.10",
    "dailyLimit": "5.00",
    "dailySpent": "0.001",
    "remainingDaily": "4.999"
  },
  "usage": {
    "today": "0.001",
    "thisWeek": "0.001",
    "totalTransactions": 1
  }
}

完整工具参考

钱包管理(4个工具)

  • wallet_create - 创建新的带有加密存储的HD钱包
  • wallet_import - 从私钥导入现有钱包
  • wallet_balance - 检查USDC和本地代币余额
  • wallet_history - 查看支付和交易历史

消费限额(2个工具)

  • wallet_set_limit - 设置每笔交易和每日消费上限
  • wallet_get_limits - 获取当前限额和每日使用统计信息

x402买家工具(2个工具)

  • x402_check_payment - 预检查钱包是否能承担支付(在实际支付之前)
  • x402_pay - 使用x402-fetch向受x402保护的资源支付

x402卖家工具(5个工具)

  • seller_verify_payment - 验证来自买家的支付
  • seller_settle_payment - 将已验证的支付上链结算
  • seller_decode_payment - 解码支付头部而不调用协调者
  • seller_create_requirements - 为受保护的资源生成支付需求
  • seller_generate_402_response - 生成402 Payment Required响应

动态API工具(4个工具)

  • api_register - 注册任何付费API端点作为MCP工具
  • api_list - 列出所有已注册的API工具
  • api_call - 使用参数执行已注册的API工具
  • api_unregister - 移除已注册的API工具

支持的网络

测试网(推荐用于开发)

  • Polygon Amoy - 链ID:80002

主网(生产用途)

  • Polygon - 链ID:137

使用案例与示例

1. 具有预算控制的AI代理

# 为AI代理设置严格的限制
@LLM Wallet 设置消费限额:每笔交易最多$0.05,每日限额$1.00

# 代理现在可以安全地调用付费API而不会超支
@LLM Wallet 调用weather_api,位置"New York"

2. 开发团队共享钱包

# 创建团队钱包
@LLM Wallet 创建钱包,标签"team-dev-wallet"

# 设置团队消费限额
@LLM Wallet 设置消费限额:每笔交易最多$0.10,每日限额$10.00

# 注册多个API供团队使用
@LLM Wallet 注册OpenAI API为"openai_tool"
@LLM Wallet 注册Anthropic API为"anthropic_tool"

3. 带监控的生产代理

# 检查每日使用情况
@LLM Wallet 检查当前消费限额和每日使用情况

# 查看支付历史以进行审计
@LLM Wallet 显示production-wallet的支付历史

# 监控消费模式
@LLM Wallet 检查production-wallet的余额

4. 多网络部署

# 首先部署到测试网
NETWORK=polygon-amoy @LLM Wallet 创建钱包,标签"test-wallet"

# 然后部署到主网
NETWORK=polygon @LLM Wallet 创建钱包,标签"prod-wallet"

故障排除

常见问题

“MCP客户端中没有可用工具”

  • 完全重启您的MCP客户端(Cursor:Cmd+Q,然后重新打开)
  • 验证~/.cursor/mcp.json是有效的JSON
  • 检查dist/index.js的路径是否正确且绝对
  • ✅ 确保MCP服务器成功构建:npm run build

“未找到钱包”错误

  • ✅ 首先创建一个钱包:@LLM Wallet 创建钱包,标签"my-wallet"
  • ✅ 或导入现有钱包:@LLM Wallet 导入钱包,私钥0x...

“支付超出限额”错误

  • ✅ 检查当前限额:@LLM Wallet 检查当前消费限额
  • ✅ 提高限额:@LLM Wallet 设置消费限额:每笔交易最多$1.00

“余额不足”错误

  • ✅ 检查余额:@LLM Wallet 检查my-wallet的余额
  • ✅ 从水龙头获取测试USDC(对于测试网)
  • ✅ 确保您处于正确的网络

“验证失败”错误

  • ✅ 验证环境变量中的协调者URL是否正确
  • ✅ 检查与协调者的网络连接
  • ✅ 确保钱包有足够的USDC余额

调试模式

启用调试日志:

LOG_LEVEL=debug node dist/index.js

健康检查

测试MCP服务器是否响应:

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | node dist/index.js

🔒 安全最佳实践

钱包安全

  • 使用强加密密钥(32个以上字符,随机生成)
  • 安全存储加密密钥(环境变量,不在代码中)
  • 使用测试网进行开发(Polygon Amoy,Base Sepolia)
  • 设置适当的消费限额(每笔交易和每日限额)
  • 定期监控支付历史

生产部署

  • 使用HTTPS进行所有通信
  • 实现速率限制以防止滥用
  • 定期备份钱包数据
  • 监控日志以查找可疑活动
  • 仅在准备就绪时使用主网

环境安全

# 生成安全加密密钥
openssl rand -hex 32

# 使用环境变量(永远不要硬编码)
export WALLET_ENCRYPTION_KEY="your-secure-key"
export NETWORK="polygon-amoy"  # 使用测试网进行开发

关键组件

钱包服务:创建和管理带有AES-256-GCM加密的HD钱包 存储服务:持久化钱包、限额和支付历史 X402服务:处理x402协议交互(仅买家侧) 工具处理器:具有输入验证的MCP工具实现

📚 额外资源

文档

相关项目

  • x402:针对x402协议的TypeScript/JavaScript SDK
  • x402-fetch:自动处理402响应
  • x402-express:Express.js中间件用于x402

📄 许可

MIT许可 - 详情见LICENSE文件。