项目简介

Solana MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 Solana 区块链的数据和功能以标准化的方式暴露给大型语言模型 (LLM) 客户端。通过 MCP 协议,LLM 可以直接访问链上数据(资源)和执行链上或相关的链下操作(工具),从而增强其对 Solana 生态系统的理解和交互能力。

主要功能点

该服务器提供以下主要功能:

  • Solana 数据查询 (资源):
    • 获取指定 Token 的总供应量。
    • 获取指定 Token 的持有者列表。
    • 获取指定 Token 对应的 Program ID。
    • 获取指定钱包地址的 SOL 余额。
    • 获取指定钱包地址的交易签名列表。
    • 获取指定钱包地址持有的 Token 列表及数量。
  • Solana 相关操作 (工具):
    • 通过集成 Jupiter Aggregator 查询 Token 之间的兑换报价。

安装步骤

  1. 确保您已安装 Node.js 和 npm。

  2. 打开终端,执行以下命令安装 Solana MCP 包:

    npm i @cubie-ai/solana-mcp
  3. 创建或找到服务器启动文件(例如 'server.js' 或 '/example/src/server.ts' 编译后的 'dist/server.js')。

  4. 配置 Solana RPC 端点。这通常通过环境变量完成。在您的项目根目录或服务器文件所在目录创建 '.env' 文件,并添加以下内容,填入您的 Solana RPC URL:

    SOLANA_RPC_URL=您的Solana_RPC_URL
    SOLANA_RPC_WS_URL=您的Solana_WebSocket_URL # 可选,通常是RPC URL的ws/wss版本
    SOLANA_COMMITMENT=confirmed # 或processed/finalized,可选

服务器配置(供MCP客户端连接使用)

MCP客户端需要知道如何启动和连接到MCP服务器。对于使用 StdIO 传输方式的客户端,您需要提供以下配置信息:

  • Server Name: Solana MCP Server (或其他您在服务器代码中定义的名称)
  • Command: 'node' (启动 Node.js 进程的命令)
  • Args: '["dist/server.js"]' (传递给 'node' 命令的参数,这里是服务器编译后的入口文件路径。实际路径取决于您的项目结构和构建过程)

这个配置告诉MCP客户端通过标准输入输出与服务器进程通信。

基本使用方法

安装并配置好服务器后,您可以创建一个 MCP 客户端应用程序(通常使用 '@modelcontextprotocol/sdk/client')来连接并使用服务器提供的功能:

  1. 在您的客户端代码中,使用相应的传输方式(如 StdIO)连接到正在运行的 Solana MCP 服务器进程。
  2. 连接成功后,客户端可以通过调用 MCP SDK 提供的方法来:
    • 'listResources()': 获取服务器支持的所有数据查询(资源)列表及其描述。
    • 'readResource({ uri: '...', parameters: {...} })': 根据 URI 和参数查询特定的 Solana 数据。例如,查询 Token 持有者需要提供 Token 的 mint 地址。
    • 'listTools()': 获取服务器支持的所有操作(工具)列表及其描述。
    • 'callTool({ name: '...', arguments: {...} })': 根据名称和参数调用特定的 Solana 操作。例如,调用 'getTokenQuote' 需要提供输入 Token、输出 Token 和数量。

客户端将通过 MCP 协议向服务器发送请求,服务器处理请求并返回包含查询结果或操作结果的响应。

信息

分类

网页与API