Dialect MCP:Jupiter Swap 服务器

使用说明

该仓库包含多个独立的 MCP 服务器实现,每个服务器都通过 Dialect Blink API 提供对特定 Solana 生态应用(如 Jupiter, Raydium, Drift 等)功能的访问。此处以 Jupiter Swap 服务器为例进行说明。

项目简介

该项目旨在将各种 Solana 生态应用的功能封装成符合 Model Context Protocol (MCP) 标准的服务器,使 LLM 客户端能够以结构化方式访问和调用这些区块链操作。每个服务器专注于一个或一组特定操作,例如代币交易、质押、借贷或永续合约操作。

主要功能点

  • 代币兑换 (Swap): 允许通过 Jupiter DEX 在 Solana 网络上进行代币之间的兑换。
  • 工具调用 (Tool Execution): 暴露标准化的工具接口,供 MCP 客户端(如 LLM 应用)调用,执行链上操作。
  • 通过 Dialect Blink 集成: 利用 Dialect Blink API 与 Solana 上的各种 DeFi 协议进行交互。
  • 能力声明: 通过 MCP 协议向客户端声明可用的工具、输入参数及其描述。

安装步骤

该仓库中的每个 MCP 服务器都是一个独立的 Python 应用,需要单独安装和运行。

  1. 确保您的系统安装了 Python 3.10 或更高版本。
  2. 安装 'uv' 包管理器:请参考 uv 官方文档进行安装。
  3. 克隆该 GitHub 仓库到本地:
    git clone https://github.com/darkresearch/dialect-mcps.git
  4. 进入您想要运行的特定服务器目录,例如 Jupiter Swap 服务器:
    cd dialect-mcps/jupiter/swap
  5. 安装该服务器所需的依赖:
    uv sync
  6. 创建 '.env' 文件并配置必要的环境变量。根据服务器的不同,通常需要配置 'BLINK_CLIENT_KEY' 和 'BIN_UUID'。请查阅对应子目录下的 README 文件获取详细的环境变量配置信息。

服务器配置

MCP 服务器是为 MCP 客户端提供服务的后台应用。MCP 客户端(例如集成 MCP 功能的 LLM 应用)需要配置如何启动和连接到这个服务器。通常,这涉及到指定服务器的可执行命令、参数和必要的环境变量。

一个典型的 MCP 客户端配置会包含以下信息(具体格式取决于客户端):

  • 服务器名称 (server name): 用于标识此 MCP 服务器,例如 '"Jupiter Swap MCP"'。
  • 启动命令 (command): 启动服务器脚本的命令,例如 '["python", "main.py"]'。
  • 命令参数 (args): 传递给启动命令的额外参数(如果需要)。
  • 环境变量 (env): 启动进程所需的环境变量,例如 '{ "BLINK_CLIENT_KEY": "您的密钥", "BIN_UUID": "您的 UUID" }'。

MCP 客户端会使用这些配置信息来启动服务器进程,并通过标准输入/输出 (stdio) 或其他协议与服务器进行 JSON-RPC 通信。

基本使用方法

一旦 MCP 服务器被 MCP 客户端启动并成功连接,客户端就可以通过 JSON-RPC 调用服务器暴露的工具。

例如,对于 Jupiter Swap 服务器,客户端可以构造一个 JSON-RPC 请求来调用名为 'jupiter_swap' 的工具,并提供交易所需的参数(如 'token_in', 'token_out', 'amount', 'tx_sender_pubkey')。服务器接收到请求后,将执行相应的 Python 函数,通过 Dialect Blink API 与 Jupiter 协议交互,处理交易逻辑,并将结果(包括交易信息或错误)通过 JSON-RPC 响应返回给客户端。

用户与 LLM 的交互(例如“我想用 0.1 SOL 换取 DARK 代币”)会被 LLM 客户端理解,并转化为对 MCP 服务器工具的结构化调用。

服务器信息