使用说明
项目简介
Solana MCP服务是一个基于Model Context Protocol (MCP) 构建的后端服务,它允许大型语言模型(LLM)如Claude等,以标准化的方式与Solana区块链进行交互。该服务提供了一系列API接口和WebSocket连接,使AI模型能够执行查询余额、发送代币、检索交易历史、创建PumpFun代币等操作。
主要功能点
- 资源访问: 提供RESTful API,允许LLM客户端查询Solana区块链的网络状态、账户余额、交易记录和账户信息。
- 工具执行: 支持通过POST请求调用预定义的工具,如创建Solana钱包、转移SOL、创建PumpFun代币等,扩展LLM的功能。
- 实时通信: 通过WebSocket支持实时事件推送,例如余额更新和新交易通知。
- 易用性: 内置HTML测试界面,方便用户测试所有功能。
- 安全性: 在服务器端处理区块链交互,客户端无需直接管理私钥,保障操作安全。
安装步骤
-
克隆仓库:
git clone https://github.com/ArcReactor9/SolanaMcpService cd SolanaMcpService -
安装依赖:
npm install -
配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',然后根据需要编辑 '.env' 文件,配置Solana网络和RPC URL等信息。例如,可以设置 'SOLANA_NETWORK' 为 'devnet' 或 'mainnet-beta',并配置 'HELIUS_RPC_URL' 指向你的RPC节点。
cp .env.example .env nano .env -
启动服务器:
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客户端的具体配置方式,可能需要调整工作目录或提供完整的命令路径。
基本使用方法
-
访问测试界面: 启动服务器后,访问 'http://localhost:3000' 可以打开内置的HTML测试界面,用于手动测试各项API功能。
-
使用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')
-
使用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