返回市场
朱庇特-MCP服务器

朱庇特-MCP服务器

作者:quanghuynguyen190216 星标更新:2025-05-22

项目介绍

Jupiter MCP Server

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

概述

MCP服务器向Claude暴露了几个工具:

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

API实现

此服务器使用Jupiter API:

  • Lite API v1 (https://lite-api.jup.ag/swap/v1) 执行交换

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

预备条件

  • Node.js (v16或更高版本)
  • Claude桌面应用程序
  • (可选)用于自动交换执行的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桌面

要配置Claude桌面以使用此MCP服务器并自动执行交换,请使用环境变量:

  1. 打开Claude桌面

  2. 导航到Claude桌面配置文件:

    • 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": "npx",
      "args": ["jupiter-mcp-server"],
      "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(自动交换所需):你的Solana钱包私钥,采用base58格式
  • SOLANA_RPC_ENDPOINT(可选):RPC端点URL,默认为主网公共端点
  • SOLANA_NETWORK(可选):'mainnet-beta','testnet' 或 'devnet',默认为'mainnet-beta'
  • LOG_LEVEL(可选):'error','warn','info' 或 'debug',默认为'info'

可选:使用.env文件

如果你直接运行服务器(而不是通过Claude桌面),可以在根目录创建一个.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桌面。Claude现在可以访问Jupiter交换工具。你可以要求Claude:

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

    把1 SOL换成USDC的报价是多少?
    
  2. 构建交换交易:

    根据我刚刚得到的报价构建交换交易。
    
  3. 发送交换交易:

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

    执行0.1 SOL换USDC的交换。
    

自动交换执行

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

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

一步完成!

故障排除

如果在交换执行过程中遇到错误:

  1. 在环境变量中设置LOG_LEVEL=debug以获取详细日志
  2. 确认你提供的Solana私钥有效
  3. 确保你的钱包有足够的SOL进行交换和交易费用
  4. 验证你使用的输入和输出代币铸造是否正确

开发

添加新工具

要向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