代币交换服务

Jupiter MCP Server 是一个用于在Solana区块链上执行代币交换的服务,利用Jupiter的Ultra API实现最优价格交换。

  • by kukapay
  • JavaScript
  • 本地部署
  • 29 星标
  • 更新于
在 GitHub 查看 kukapay/jupiter-mcp

使用说明

Jupiter MCP服务器

一个MCP服务器,用于使用Jupiter的新Ultra API在Solana区块链上执行代币交换。

特性

  • 从Jupiter的Ultra API获取交换订单,结合DEX路由和RFQ(询价)以获得最佳定价。
  • 通过Jupiter的Ultra API执行掉期,处理滑差、优先级费用和交易落地。

先决条件

  • Node.js:版本18或更高(适用于本机 fetch 支持)。
  • Solana钱包:用于签署交易的私钥(base58编码)。
  • RPC终结点:访问Solana RPC节点(例如。, https://api.mainnet-beta.solana.com).

安装

  1. 克隆存储库:

    git clone https://github.com/kukapay/jupiter-mcp.git
    cd jupiter-mcp
    
  2. 再进行: 确保已安装MCP Server软件包以及其他必需的依赖项:

    npm install
    
  3. 客户端配置:

{
  "mcpServers": {
    "Jupiter-MCP": {
      "command": "node",
      "args": ["path/to/jupiter-mcp/server/index.js"],
      "env": {
        "SOLANA_RPC_URL": "solana rpc url you can access",
        "PRIVATE_KEY": "your private key"
      }
    }
  }
}

工具

超API工具

  • get-ultra-order:

    • 描述:从Jupiter的Ultra API获取交换订单,利用DEX路由和RFQ获得最佳定价。
    • 输入:
      • inputMint:输入令牌造币厂地址(例如SOL或令牌公钥)。
      • outputMint:输出代币造币地址(例如USDC或代币公钥)。
      • amount:以字符串形式输入金额(例如“1.23”)。
      • slippageBps:以基点为单位的滑动公差(例如,0.5%为50)。
    • 输出:JSON格式 requestId, transaction (base64编码), inputMint, outputMint, inAmount, outAmount, price.
  • execute-ultra-order:

    • 描述:请求Jupiter代表钱包所有者执行掉期交易,处理滑点、优先费和交易着陆。
    • 输入:
      • requestId:来自的唯一标识符 get-ultra-order.
      • transaction:来自的Base64编码交易 get-ultra-order.
    • 输出:JSON格式 status, transactionId, slot, inputAmountResult, outputAmountResult, swapEvents.

交互示例

以下是使用自然语言提示和预期响应与服务器交互的示例:

获取掉期订单

  • 提示:“获得一个掉期订单,将1.23 SOL兑换为USDC。”
  • 输入:
    • 工具: get-ultra-order
    • 论据:
      • inputMint“So111111111111111.1111111111118111111111111 1111111111112”(SOL)
      • outputMint:“EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v”(USDC)
      • amount: "1.23"
      • slippageBps: 50
  • 响应:
    {
      "requestId": "a770110b-82c9-46c8-ba61-09d955b27503",
      "transaction": "AQAAAA...base64-encoded-transaction...==",
      "inputMint": "So11111111111111111111111111111111111111112",
      "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "inAmount": "1230000000",
      "outAmount": "19950000",
      "price": 0.01621951219512195
    }
    

执行交换

  • 提示:“使用提供的交易执行请求ID为'a770110b-82c9-46c8-ba61-09d955b27503'的掉期订单。”
  • 输入:
    • 工具: execute-ultra-order
    • 论据:
      • requestId:“a770110b-82c9-46c8-b61-09d955b27503”
      • transaction:“AQAAAA…base64编码事务…==”
  • 响应:
    {
      "status": "Success",
      "transactionId": "5x...solana-transaction-signature...",
      "slot": 299283763,
      "inputAmountResult": "1230000000",
      "outputAmountResult": "19950000",
      "swapEvents": [
        {
          "type": "swap",
          "inputMint": "So11111111111111111111111111111111111111112",
          "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "inAmount": "1230000000",
          "outAmount": "19950000"
        }
      ]
    }
    

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。