使用说明

项目简介

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,方便连接测试网或其他环境。

安装步骤

  1. 安装依赖: 在项目根目录下运行 '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

基本使用方法

  1. 启动服务器: 在项目根目录下,先运行 'npm run build' 构建项目,然后运行 'npm start' 命令启动 MCP 服务器。

    npm run build
    npm start
  2. 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 进行后续处理。

信息

分类

开发者工具