使用说明
项目简介
Safe Wallet MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 提供与 Safe (原 Gnosis Safe) 智能合约钱包交互的能力。通过此服务器,LLM 可以安全地查询 Safe 钱包的交易信息、获取多签交易详情以及解码交易数据,从而实现更智能的链上资产管理和交互。
主要功能点
- 查询Safe交易记录: 获取指定 Safe 地址的所有交易记录,支持分页和排序。
- 获取多签交易详情: 查询特定多签交易哈希的详细信息,包括交易参数、确认状态等。
- 解码交易数据: 解码交易的 'data' 字段,解析合约方法和参数,方便理解交易内容。
- 支持Safe API: 底层基于 Safe Transaction API,数据准确可靠。
- 默认配置: 开箱即用,默认连接 Safe Transaction API 主网 endpoint,无需复杂配置。
- 可配置API Endpoint: 支持通过环境变量 'SAFE_API_URL' 自定义 Safe Transaction API endpoint,方便连接测试网或其他环境。
安装步骤
-
安装依赖: 在项目根目录下运行 'npm install' 命令安装项目依赖。
npm install
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 Safe Wallet MCP Server。请注意,客户端无需执行以下命令,以下配置信息是为MCP客户端准备的:
{ "serverName": "safe-mcp", "command": "npm", "args": ["start"] }
配置参数说明:
- 'serverName': 服务器名称,此处为 'safe-mcp',用于在 MCP 客户端中标识该服务器。
- 'command': 启动服务器的命令,此处为 'npm',表示使用 npm 运行。
- 'args': 命令参数,此处为 '["start"]',表示运行 npm 的 'start' 脚本。'npm start' 脚本在 'package.json' 中被预定义为启动服务器的命令 ('node dist/index.js')。
可选配置:
如果需要连接到非主网的 Safe Transaction API (例如 Goerli 测试网),可以在启动服务器之前设置环境变量 'SAFE_API_URL'。例如,使用 Goerli 测试网 API 的启动命令如下:
SAFE_API_URL=https://safe-transaction-goerli.safe.global/api/v1 npm start
基本使用方法
-
启动服务器: 在项目根目录下,先运行 'npm run build' 构建项目,然后运行 'npm start' 命令启动 MCP 服务器。
npm run build npm start -
MCP客户端调用: 将上述服务器配置信息配置到 MCP 客户端中。客户端会通过标准输入输出 (stdio) 与服务器建立连接,并可以调用服务器提供的工具。
例如,LLM 可以指示 MCP 客户端调用 'getSafeTransactions' 工具来查询 Safe 地址 '0x5190681F0455D1442922044678E94419D54735eE' 的交易记录:
{ "action": "call-tool", "tool_call_id": "getSafeTx-1", "tool_name": "getSafeTransactions", "parameters": { "address": "0x5190681F0455D1442922044678E94419D54735eE", "limit": 10 } }服务器会将查询结果以 JSON 格式返回给 MCP 客户端,客户端再将结果传递给 LLM 进行后续处理。
信息
分类
开发者工具