MCP链上代理
特性
- MCP服务器:通过模型上下文协议公开AgentKit工具
- 全面的错误处理:用于调试的详细日志记录和错误消息
- 多客户端支持:与Claude Desktop、MCP Jam和其他MCP调试器配合使用
- CDP集成:使用Coinbase开发者平台(CDP)进行钱包管理和链上运营
- 测试网实用程序:包括用于请求测试网资金的实用程序脚本
项目结构
mcp-onchain-agent/
├── src/
│ ├── index.ts # MCP server entry point
│ └── getAgentKit.ts # AgentKit configuration and initialization
├── server_wallet/
│ └── main.ts # Utility script for testnet faucet requests
├── build/ # Compiled output (generated)
├── claude_desktop_config.json # Claude Desktop configuration (not tracked)
├── mcp_debugger_config.example.json # Example config for MCP debuggers
└── package.json先决条件
- Node.js(建议使用v22+)
- CDP API证书:
- CDP_API_KEY_ID - CDP_API_KEY_SECRET - CDP_WALLET_SECRET
安装
npm install配置
环境变量
服务器需要以下环境变量(通过MCP客户端配置设置):
必修的:
CDP_API_KEY_ID-您的CDP API密钥IDCDP_API_KEY_SECRET-您的CDP API密钥秘密CDP_WALLET_SECRET-您的CDP钱包密码
可选:
NETWORK_ID-网络ID(默认值:base-sepolia)ADDRESS-钱包地址(如果使用现有钱包)OWNER_ADDRESS-钱包所有者地址RPC_URL-自定义RPC端点PAYMASTER_URL-赞助交易的支付宝URLIDEMPOTENCY_KEY-请求的Idempotency密钥
用法
构建服务器
npm run build这将TypeScript编译为JavaScript build/ 目录。
与Claude Desktop一起使用
- 复制
claude_desktop_config.json到您的Claude Desktop配置目录:
cp claude_desktop_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.json- 编辑配置文件并将您的CDP凭据添加到
env部分。
- 重新启动Claude Desktop并开始使用链上工具!
与MCP调试器一起使用(MCP Jam等)
- 参考
mcp_debugger_config.example.json对于配置格式。
- 在MCP调试器中,使用以下命令配置服务器:
- 命令: node - 参数: ["/path/to/mcp-onchain-agent/build/index.js"] - 环境变量:在中设置所有必需的变量 env 章节
- 服务器将详细的启动信息记录到stderr,MCP调试器可以捕获这些信息以进行故障排除。
测试网实用程序
这 server_wallet/ 目录包含一个用于请求测试网资金的实用程序脚本:
cd server_wallet
npm install
# Set up .env file with CDP credentials
npx tsx main.ts此脚本从Base Sepolia和Ethereum Sepolia测试网请求测试网令牌(ETH、USDC、EURC、CB-BTC)。
发展
编码结构
src/index.ts:主MCP服务器实现
- 使用stdio传输设置MCP服务器 - 处理工具列表和执行 - 提供详细的错误记录
src/getAgentKit.ts:AgentKit配置
- 初始化CDP智能钱包提供程序 - 配置操作提供程序(ERC20、WETH、Pyth等) - 处理环境变量验证 - 提供有用的错误消息
错误处理
服务器包括全面的错误处理:
- 启动日志记录:将每个初始化步骤记录到stderr
- 环境验证:检查所需的环境变量
- 结构化错误:调试器的JSON格式错误输出
- 有用的信息:使用故障排除指南清除错误消息
调试
当服务器无法启动时,请检查stderr输出:
Starting MCP server...-服务器初始化开始Initializing AgentKit...-AgentKit配置开始Environment check:-显示设置了哪些环境变量(不暴露秘密)- 错误消息,详细说明问题所在
可用工具
服务器通过MCP公开AgentKit工具,包括:
- 钱包操作(余额检查、转账)
- ERC20代币操作
- WETH操作
- Pyth价格推送
- CDP API操作
- 智能钱包操作
- X402操作
看 AgentKit文档 获取完整的工具文档。
故障排除
“连接已关闭”错误
这通常意味着环境变量没有正确传递:
- 验证MCP客户端配置中是否设置了所有必需的环境变量
- 检查stderr日志中的“环境检查”输出
- 确保
ADDRESS和OWNER_ADDRESS要么设置正确,要么留空(不是“值”)
“找不到具有给定地址的智能帐户”
指定地址的钱包不存在。要么:
- 首先使用CDP创建钱包
- 删除
ADDRESS环境变量,允许提供者创建/查找钱包 - 使用钱包所在的其他地址
“缺少必需的环境变量”
确保设置了所有三个必需的变量:
CDP_API_KEY_IDCDP_API_KEY_SECRETCDP_WALLET_SECRET
了解更多
许可证
私有项目-详见package.json。
