项目简介
Solana MCP 服务器是基于 Model Context Protocol (MCP) 实现的应用后端,专门为 AI 工具和语言模型设计,提供与 Solana 区块链无缝交互的能力。它允许 AI 代理以结构化和标准化的方式访问 Solana 数据、执行链上查询和分析。
主要功能点
- 区块链数据访问: 以标准化的资源URI ('solana://...') 格式提供 Solana 账户、代币、交易、程序、网络状态、NFT 等核心链上数据的访问能力。
- 工具集成: 注册可由 LLM 调用的工具,执行特定的 Solana 操作,例如获取账户信息、查询代币余额、获取程序账户列表等。
- Prompt 模板: 定义用于指导 LLM 与 Solana 数据交互的 Prompt 模板。
- 自然语言查询: 支持将自然语言查询(如“查询某个地址的余额”)转换为结构化的链上数据请求。
- 上下文管理: 通过会话机制维护交互历史和上下文,支持更连贯的多轮对话。
- 高级分析: 提供代币分析(元数据、供应、持仓、价格、风险)、流动性分析、钱包行为分类等高级功能。
- 多种传输协议: 支持 Stdio 和 Server-Sent Events (SSE) 等多种通信协议。
- REST API: 除了 MCP 接口外,还提供一套 RESTful API,方便传统应用集成。
安装步骤
-
克隆仓库: 克隆项目代码到本地目录。
-
设置 Python 环境: 推荐使用 Python 3.9 或更高版本。创建并激活一个虚拟环境以管理依赖。
-
安装依赖: 在虚拟环境激活的状态下,进入项目目录,安装所需的 Python 包。
-
配置 Solana RPC: 设置环境变量 'SOLANA_RPC_URL' 指向一个 Solana RPC 端点(例如:'https://api.mainnet-beta.solana.com')。
-
构建并运行 (推荐 Docker): 最简单的运行方式是使用 Docker。进入项目目录,运行 'docker-compose up -d' 或 'docker build -t solana-mcp . && docker run -p 8000:8000 solana-mcp'。
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要知道如何启动并连接到 MCP 服务器。通常,这通过一个 JSON 配置文件来指定服务器的启动命令和连接方式。
对于 'solana-mcp' 服务器,常见的配置方式如下:
-
使用 Stdio 传输 (本地开发/测试): 客户端通过标准输入输出与服务器通信。服务器的启动命令是 'solana-mcp'。 客户端配置示例 (JSON 格式,概念说明):
{ "name": "Solana MCP", "command": ["solana-mcp"], "args": [], "transport": "stdio", "description": "通过标准输入输出与本地Solana MCP服务器通信" }(说明:MCP客户端将执行 '"command"' 数组中的命令来启动服务器进程。'"args"' 是传递给命令的参数。'"transport"' 指定通信协议为 Stdio。)
-
使用 SSE 传输 (网络访问): 服务器以 HTTP 服务形式运行,客户端通过 SSE 连接。启动命令需要指定传输协议和端口。默认端口是 8000。 服务器启动命令示例 ('solana-mcp --transport sse --port 8000') 客户端配置示例 (JSON 格式,概念说明):
{ "name": "Solana MCP SSE", "command": ["solana-mcp", "--transport", "sse", "--port", "8000"], "args": [], "transport": "sse", "port": 8000, "host": "127.0.0.1", "description": "通过SSE连接本地HTTP端口8000上的Solana MCP服务器" }(说明:启动命令包含 '--transport sse --port 8000' 参数。'"transport"' 指定通信协议为 SSE。'"port"' 和 '"host"' 指定客户端连接的地址和端口。)
-
环境变量配置: 服务器可以通过环境变量配置 Solana RPC URL ('SOLANA_RPC_URL')、Commitment ('SOLANA_COMMITMENT')、超时 ('SOLANA_TIMEOUT')、Host ('HOST')、Port ('PORT')、日志级别 ('LOG_LEVEL') 和传输协议 ('TRANSPORT') 等。这些配置在服务器启动时读取。
基本使用方法
MCP 客户端 (例如支持 MCP 的 LLM 框架) 连接到 Solana MCP 服务器后,即可通过标准 MCP JSON-RPC 请求与服务器交互。
- 请求资源: 客户端可以请求特定 URI 的资源,例如获取账户余额:'solana://balance/{address}'。服务器会返回对应的 JSON 数据。
- 调用工具: 客户端可以调用服务器注册的工具,例如获取账户详细信息。客户端发送包含工具名称和参数的请求,服务器执行对应函数并返回结果。
- 使用 Prompt: 客户端可以根据服务器定义的 Prompt 模板构建交互流程,指导 LLM 完成复杂任务。
对于直接使用 REST API 的开发者,可以参考 README 或 '/api/docs' 端点获取可用的 HTTP API 列表和使用说明。
信息
分类
AI与计算