项目简介
这是一个基于模型上下文协议(MCP)实现的服务器,专注于为大型语言模型(LLM)应用提供与Solana区块链交互的能力。它作为LLM客户端的后端服务,以标准化的方式暴露Solana的特定功能,包括管理钱包、发送交易、查询链上数据和与智能合约交互。该服务器是 LYRAIOS 平台中的一个可独立运行的组件。
主要功能点
- Solana 钱包管理: 支持获取钱包地址和查询SOL余额。
- Solana 交易: 提供发送SOL交易的能力。
- 智能合约交互: 允许查询特定程序(智能合约)下的账户、获取账户详细信息、反序列化账户数据、查找程序派生地址(PDA)、以及构建跨程序调用(CPI)所需的交易指令。
- Token 管理: 支持查询Solana上的Token账户信息。
- 标准协议通信: 通过JSON-RPC协议接收和处理来自LLM客户端的请求。
- 多种传输协议: 支持通过标准输入输出(Stdio)或HTTP/SSE进行通信。
安装步骤
- 克隆整个LYRAIOS GitHub仓库:
git clone https://github.com/yosuke-kuroki/lyraios.git - 进入包含Solana MCP模块的目录:
cd lyraios/mcp_solana - 安装所需的Python依赖。这里使用 '-e .' 进行可编辑安装,方便开发和引用:
这将安装 'mcp-solana' 包及其依赖,例如 'solana' SDK、'aiohttp' 和 'pydantic' 等。pip install -e .
服务器配置
MCP客户端需要配置如何启动并连接到此Solana MCP服务器。以下是一个MCP客户端所需的配置示例(以JSON格式描述,仅供参考,请勿直接作为代码执行):
{ "name": "Solana MCP Server", "command": "python", "args": [ "-m", "mcp_solana.server.server", "--rpc-url", "https://api.devnet.solana.com", // 必需:指定连接的Solana RPC端点,例如 devnet 或 mainnet // "--wallet-path", "/path/to/your/solana/wallets", // 可选:指定Solana钱包密钥存储目录,默认通常是 ~/.solana/wallets // "--port", "8080" // 可选:指定HTTP/SSE传输方式时服务器监听的端口,默认8080 ], "transport": "stdio" // 必需:指定客户端应使用的传输协议,"stdio" (标准输入输出) 或 "http" }
- 'name': 在MCP客户端中显示的服务器友好名称。
- 'command': 用于启动服务器进程的可执行命令,这里是'python'。
- 'args': 传递给'command'的命令行参数列表。'-m mcp_solana.server.server' 指定了要运行的Python模块。'--rpc-url' 指定连接的Solana网络RPC端点。'--wallet-path' 和 '--port' 是可选参数,根据需要配置。
- 'transport': 指定MCP客户端与服务器通信的方式,可以是'stdio'(通过进程的标准输入和输出流)或'http'(通过HTTP POST请求发送指令,并通过SSE接收通知和响应)。
基本使用方法
- 准备环境: 确保已完成上述安装步骤。如果需要进行交易或部署合约,请确保您在 '--wallet-path' 指定的目录(或默认路径)下有Solana钱包文件,并且钱包中有足够的SOL。
- 启动服务器: 在终端中,根据您的配置信息执行启动命令(例如,使用上方 'command' 和 'args' 字段组合的命令)。服务器将开始运行,监听MCP客户端的连接。
- 配置客户端: 在支持MCP协议的LLM客户端应用中,添加并配置一个新的MCP服务器连接,使用上方提供的配置信息。
- 通过LLM交互: 一旦客户端成功连接,LLM即可通过调用服务器暴露的Solana相关工具能力与区块链进行交互。例如,LLM可能会生成一个JSON-RPC请求来获取您的Solana钱包地址,或者调用一个工具来查询某个Token的余额。
信息
分类
网页与API