Jupiter MCP Server

Jupiter MCP Server

为 Claude AI 提供访问 Solana 上 Jupiter 交换 API 的模型上下文协议服务器

quanghuynguyen1902

开发者工具
访问服务器

README

Jupiter MCP 服务器

此仓库包含一个模型上下文协议 (MCP) 服务器,该服务器为 Claude 提供对 Jupiter 的 Swap API 的访问权限。该服务器使 Claude 能够使用 Jupiter 在 Solana 区块链上执行诸如获取报价、构建 Swap 交易和发送 Swap 交易等操作。

概述

MCP 服务器向 Claude 公开了几个工具:

  • jupiter_get_quote: 获取在 Jupiter 上交换代币的报价
  • jupiter_build_swap_transaction: 在 Jupiter 上构建 Swap 交易
  • jupiter_send_swap_transaction: 在 Jupiter 上发送 Swap 交易
  • jupiter_execute_swap: 使用来自环境变量的钱包私钥执行完整的 Swap

API 实现

此服务器使用 Jupiter API:

  • Lite API v1 (https://lite-api.jup.ag/swap/v1) 用于执行 Swap

Lite API 提供了一个简化的接口,用于在单个请求中构建和执行 Swap,从而提高了可靠性。

前提条件

  • Node.js (v16 或更高版本)
  • Claude Desktop 应用程序
  • (可选) 用于自动 Swap 执行的 Solana 钱包私钥

安装

从 npm (推荐)

# 全局安装
npm install -g jupiter-mcp-server

# 或者使用 npx
npx jupiter-mcp-server

从源代码

  1. 克隆此仓库:

    git clone https://github.com/quanghuynguyen1902/jupiter-mcp-server.git
    cd jupiter-mcp-server
    
  2. 安装依赖项:

    npm ci
    
  3. 构建项目:

    npm run build
    
  4. 全局安装 (可选):

    npm install -g ./
    

配置

使用环境变量配置 Claude Desktop

要配置 Claude Desktop 以使用此 MCP 服务器,并使用环境变量进行自动 Swap 执行,请执行以下操作:

  1. 打开 Claude Desktop

  2. 导航到 Claude Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. 添加带有环境变量的 MCP 服务器配置:

{
  "mcpServers": {
    "jupiter-mcp-server": {
      "command": "jupiter-mcp-server",
      "args": [],
      "env": {
        "SOLANA_PRIVATE_KEY": "your_private_key_in_base58_format",
        "SOLANA_RPC_ENDPOINT": "https://api.mainnet-beta.solana.com",
        "SOLANA_NETWORK": "mainnet-beta",
        "LOG_LEVEL": "info"
      }
    }
  }
}

如果您是从源代码安装的,并且想要运行本地版本,请使用:

{
  "mcpServers": {
    "jupiter-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/your/jupiter-mcp-server/build/index.js"
      ],
      "env": {
        "SOLANA_PRIVATE_KEY": "your_private_key_in_base58_format",
        "SOLANA_RPC_ENDPOINT": "https://api.mainnet-beta.solana.com",
        "SOLANA_NETWORK": "mainnet-beta",
        "LOG_LEVEL": "info"
      }
    }
  }
}

环境变量描述

  • SOLANA_PRIVATE_KEY (自动 Swap 必需): 您的 Solana 钱包私钥,采用 base58 格式
  • SOLANA_RPC_ENDPOINT (可选): RPC 端点 URL,默认为 mainnet 公共端点
  • SOLANA_NETWORK (可选): 'mainnet-beta'、'testnet' 或 'devnet',默认为 'mainnet-beta'
  • LOG_LEVEL (可选): 'error'、'warn'、'info' 或 'debug',默认为 'info'

替代方案:使用 .env 文件

如果您直接运行服务器(而不是通过 Claude Desktop),您可以在根目录中创建一个 .env 文件,其中包含相同的变量:

SOLANA_PRIVATE_KEY=your_private_key_in_base58_format
SOLANA_RPC_ENDPOINT=https://api.mainnet-beta.solana.com
SOLANA_NETWORK=mainnet-beta
LOG_LEVEL=info

本地运行

# 如果全局安装
jupiter-mcp-server

# 如果从源代码安装
node build/index.js

# 使用 npx
npx jupiter-mcp-server

用法

配置完成后,重新启动 Claude Desktop。Claude 现在将可以访问 Jupiter Swap 工具。您可以要求 Claude:

  1. 获取交换代币的报价:

    将 1 SOL 兑换为 USDC 的报价是多少?
    
  2. 构建 Swap 交易:

    为我刚刚获得的报价构建一个 Swap 交易。
    
  3. 发送 Swap 交易:

    发送我刚刚构建的 Swap 交易。
    
  4. 自动执行 Swap(如果您提供了私钥):

    执行 0.1 SOL 兑换为 USDC 的 Swap。
    

自动 Swap 执行

如果您已使用 Solana 私钥配置了您的环境,Claude 现在可以直接执行 Swap,而无需您手动签署交易。此功能使用您环境中的私钥来:

  1. 获取 Swap 的报价
  2. 构建交易
  3. 使用您的私钥签署交易
  4. 将交易发送到网络

一步到位!

故障排除

如果在 Swap 执行期间遇到错误:

  1. 在您的环境变量中设置 LOG_LEVEL=debug 以获取详细日志
  2. 检查您是否提供了有效的 Solana 私钥
  3. 确保您的钱包有足够的 SOL 用于 Swap 和交易费用
  4. 验证您是否使用了正确的输入和输出代币 Mint 地址

开发

添加新工具

要向 MCP 服务器添加新工具:

  1. src/tools.ts 中定义该工具
  2. 在相应的处理程序文件中创建一个处理函数
  3. 将处理程序添加到 src/tools.ts 中的 handlers 对象

构建

npm run build

测试

npm test

发布到 npm

确保您已登录到 npm:

npm login

然后发布该软件包:

npm publish

要发布新版本,请首先更新 package.json 中的版本:

npm version patch  # 或 minor, 或 major
npm publish

许可证

MIT

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript