使用说明

项目简介

Solana MCP服务是一个基于Model Context Protocol (MCP) 构建的后端服务,它允许大型语言模型(LLM)如Claude等,以标准化的方式与Solana区块链进行交互。该服务提供了一系列API接口和WebSocket连接,使AI模型能够执行查询余额、发送代币、检索交易历史、创建PumpFun代币等操作。

主要功能点

  • 资源访问: 提供RESTful API,允许LLM客户端查询Solana区块链的网络状态、账户余额、交易记录和账户信息。
  • 工具执行: 支持通过POST请求调用预定义的工具,如创建Solana钱包、转移SOL、创建PumpFun代币等,扩展LLM的功能。
  • 实时通信: 通过WebSocket支持实时事件推送,例如余额更新和新交易通知。
  • 易用性: 内置HTML测试界面,方便用户测试所有功能。
  • 安全性: 在服务器端处理区块链交互,客户端无需直接管理私钥,保障操作安全。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/ArcReactor9/SolanaMcpService
    cd SolanaMcpService
  2. 安装依赖:

    npm install
  3. 配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',然后根据需要编辑 '.env' 文件,配置Solana网络和RPC URL等信息。例如,可以设置 'SOLANA_NETWORK' 为 'devnet' 或 'mainnet-beta',并配置 'HELIUS_RPC_URL' 指向你的RPC节点。

    cp .env.example .env
    nano .env
  4. 启动服务器:

    npm start

    服务器默认运行在 'http://localhost:3000'。

服务器配置

MCP客户端需要配置以下信息以连接到Solana MCP服务器。以下配置为JSON格式,请复制到MCP客户端的服务器配置中。

{
  "serverName": "SolanaMcpService",  // MCP服务器名称,可自定义
  "command": "npm",             // 启动服务器的命令,通常为 npm 或 node
  "args": ["start"]              // 启动命令的参数,这里使用 npm start 启动server
  // 如果需要直接运行js文件启动,可以配置为:
  // "command": "node",
  // "args": ["src/index.js"]
  // 请确保MCP客户端的工作目录设置为 SolanaMcpService 仓库根目录
}

参数注释:

  • 'serverName': MCP服务器的名称,用于在客户端标识和管理连接,可以根据需要自定义。
  • 'command': 用于启动MCP服务器的命令行指令。在本例中,'npm start' 是启动 'SolanaMcpService' 服务器的命令。如果你的环境配置了 'node' 环境变量,并且希望直接运行 'src/index.js' 文件来启动服务器,可以将 'command' 设置为 'node','args' 设置为 '["src/index.js"]'。
  • 'args': 'command' 命令的参数列表。对于 'npm start',参数为空数组 '[]'。如果 'command' 设置为 'node',则 'args' 应该包含要执行的JavaScript文件路径,例如 '["src/index.js"]'。

注意: 请确保MCP客户端能够访问到 SolanaMcpService 仓库的根目录,以便正确执行启动命令。根据MCP客户端的具体配置方式,可能需要调整工作目录或提供完整的命令路径。

基本使用方法

  1. 访问测试界面: 启动服务器后,访问 'http://localhost:3000' 可以打开内置的HTML测试界面,用于手动测试各项API功能。

  2. 使用API接口: 通过HTTP请求访问 '/api' 路径下的各种端点,例如:

    • 获取网络状态: 'GET /api/network'
    • 查询账户余额: 'GET /api/balance/{address}'
    • 获取交易记录: 'GET /api/transactions/{address}'
    • 创建钱包: 'POST /api/wallet/create'
    • 转移SOL: 'POST /api/transfer' (请求体中包含 'fromSecretKey', 'toAddress', 'amount')
    • 执行MCP操作 (例如创建PumpFun Token): 'POST /api/mcp/execute' (请求体中包含 'action' 和 'parameters')
  3. 使用WebSocket: 连接 'ws://localhost:3000/ws' 可以建立WebSocket连接,接收实时更新和发送MCP命令。客户端可以发送JSON格式的消息,服务器会返回JSON格式的响应或通知。

    示例 MCP 请求 (通过 WebSocket 或 HTTP POST /api/mcp/execute):

    {
      "action": "getBalance",
      "parameters": {
        "address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6"
      }
    }

    示例 创建 PumpFun Token MCP 请求 (通过 HTTP POST /api/mcp/execute):

    {
      "action": "createPumpFunToken",
      "params": {
        "name": "My Token Name",
        "symbol": "MTN",
        "description": "This is my custom token",
        "twitter": "https://x.com/xxx",
        "telegram": "https://t.me/xxx",
        "website": "https://mywebsite.com",
        "amount": "0.1",
        "slippage": "10",
        "priorityFee": "0.0005"
      }
    }

信息

分类

网页与API