项目简介
SOLx402 MCP 服务器是一个功能强大的后端服务,旨在通过Model Context Protocol (MCP) 标准,为大型语言模型(LLM)客户端提供与Solana区块链和x402去中心化支付协议相关的上下文信息和操作能力。它通过注册一系列工具,允许LLM执行诸如查询钱包余额、探索x402服务、搜索文档等操作,从而扩展LLM的应用范围和智能化水平。
主要功能点
- Solana区块链交互: 提供工具以查询Solana钱包的公共密钥和USDC代币余额。
- x402协议服务管理: 允许列出可用的x402协议服务,并支持消费这些服务,包括处理支付响应。
- x402文档智能搜索: 提供工具以在x402协议的官方文档中进行智能搜索,获取相关信息和代码示例。
- Solana生态知识库: 能够接入外部Solana MCP服务器,提供Solana Anchor框架专家问答、Solana开发帮助以及Solana文档搜索等高级功能。
- 配置灵活: 支持通过配置参数在Solana主网/开发网之间切换,设定最大支付金额,以及指定x402协调器(Facilitator)URL。
- 符合MCP标准: 遵循Model Context Protocol,通过JSON-RPC进行通信,支持HTTP流式传输,并提供'.well-known/mcp-config'接口进行服务器能力声明和配置发现。
安装步骤
- 克隆仓库:
git clone https://github.com/leandrogavidia/solx402-mcp-server.git cd solx402-mcp-server - 安装依赖:
npm install # 或者 yarn install - 配置环境变量:
在 'apps/mcp-server' 目录下创建 '.env' 文件,并根据你的部署环境配置以下变量:
HOST=127.0.0.1 # 服务器监听的IP地址,例如 0.0.0.0 允许外部访问 PORT=8001 # 服务器监听的端口号 - 构建项目:
npm run build # 或者 yarn build - 启动服务器:
服务器将在配置的端口上监听请求,例如 'http://127.0.0.1:8001'。npm start # 或者 yarn start
服务器配置 (MCP客户端使用)
MCP客户端可以通过两种方式与此服务器连接:作为托管进程启动或作为预运行的HTTP服务连接。
1. 作为托管进程由MCP客户端启动: 如果你的MCP客户端负责启动和管理服务器进程,它需要以下配置。请确保在运行服务器前已完成构建步骤。
{ "server": { "name": "solx402-mcp-server", "command": "node", "args": [ "dist/apps/mcp-server/src/index.js" ] }, "config": { "isMainnet": { "type": "boolean", "title": "使用主网", "description": "设置为 true 连接 Solana 主网,false 连接开发网。", "default": false }, "facilitatorUrl": { "type": "string", "format": "uri", "title": "协调器URL", "description": "x402协调器的URL。", "default": "https://facilitator.payai.network" }, "maxPrice": { "type": "number", "title": "最大价格", "description": "支付服务最大USDC金额(例如 10000 = 0.01 USDC)。", "default": 0, "minimum": 0 }, "privateKey": { "type": "string", "title": "私钥", "description": "以Base58格式提供的Solana钱包私钥。这是一个敏感信息,请通过MCP客户端安全传输。", "x-secret": true, "required": true }, "mainnetRpcUrl": { "type": "string", "format": "uri", "title": "主网RPC URL", "description": "Solana主网RPC节点的URL。", "required": true }, "devnetRpcUrl": { "type": "string", "format": "uri", "title": "开发网RPC URL", "description": "Solana开发网RPC节点的URL。", "default": "https://api.devnet.solana.com" }, "useSolanaMcpServer": { "type": "boolean", "title": "使用Solana MCP服务器", "description": "设置为 true 以启用额外的Solana MCP服务器工具。默认为 false。", "default": false } } }
重要提示: 'command' 和 'args' 是MCP客户端用于启动服务器进程的命令和参数。'config' 部分描述了MCP客户端在建立会话时,可以向运行中的服务器提供的运行时配置参数。'privateKey' 和 'mainnetRpcUrl' 是必填项。
2. 作为独立的HTTP服务连接: 如果服务器已作为独立的HTTP服务运行(例如通过Docker部署或手动启动),MCP客户端可以直接连接到其HTTP端点。在这种情况下,客户端只需要服务器的URL: 'http://你的服务器IP或域名:你的端口/mcp' 例如:'http://127.0.0.1:8001/mcp' 客户端可以通过访问 'http://127.0.0.1:8001/.well-known/mcp-config' 端点获取详细的会话配置Schema。
基本使用方法
一旦MCP客户端成功连接到SOLx402 MCP服务器并提供了必要的会话配置(例如,Solana私钥和RPC URL),它就可以通过标准JSON-RPC协议调用服务器上注册的工具。LLM客户端会根据用户的意图,发送结构化的JSON请求,包含工具名称和参数,并接收包含执行结果的JSON响应。
例如,一个LLM客户端可能会:
- 调用 'get_wallet_usdc_balance' 工具来获取用户钱包的USDC余额。
- 调用 'get_x402_services' 工具来发现可用的x402服务,然后根据用户需求调用 'consume_x402_service' 来使用某个特定服务。
- 调用 'search_x402_documentation' 来查找有关x402协议特定主题的详细信息。
- 通过 'Ask_Solana_Anchor_Framework_Expert' 或 'Solana_Documentation_Search' 等工具获取Solana开发相关帮助。
信息
分类
开发者工具