logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

jupiter-mcp

Execute token swaps on the Solana blockchain using Jupiter's Ultra API for optimal pricing and transaction management. Manage slippage and transaction landing for seamless trading experiences.

Author

jupiter-mcp logo

kukapay

MIT License

Quick Info

GitHub GitHub Stars 21
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

tokentradingjupitersolana blockchainkukapay jupitermarket kukapay

Jupiter MCP Server

An MCP server for executing token swaps on the Solana blockchain using Jupiter's new Ultra API.

License Node.js Status

Features

  • Fetch swap orders from Jupiter's Ultra API, combining DEX routing and RFQ (Request for Quote) for optimal pricing.
  • Execute swaps via Jupiter's Ultra API, handling slippage, priority fees, and transaction landing.

Prerequisites

  • Node.js: Version 18 or higher (for native fetch support).
  • Solana Wallet: A private key (base58-encoded) for signing transactions.
  • RPC Endpoint: Access to a Solana RPC node (e.g., https://api.mainnet-beta.solana.com).

Installation

  1. Clone the Repository: bash git clone https://github.com/kukapay/jupiter-mcp.git cd jupiter-mcp

  2. Install Dependencies: Ensure you have the MCP Server package installed along with other required dependencies: bash npm install

  3. Client Configuration:

{
  "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"
      }
    }
  }
}

Tools

Ultra API Tools

  • get-ultra-order:
  • Description: Fetches a swap order from Jupiter's Ultra API, leveraging both DEX routing and RFQ for optimal pricing.
  • Inputs:
    • inputMint: Input token mint address (e.g., SOL or token pubkey).
    • outputMint: Output token mint address (e.g., USDC or token pubkey).
    • amount: Input amount as a string (e.g., "1.23").
    • slippageBps: Slippage tolerance in basis points (e.g., 50 for 0.5%).
  • Output: JSON with requestId, transaction (base64-encoded), inputMint, outputMint, inAmount, outAmount, price.

  • execute-ultra-order:

  • Description: Requests Jupiter to execute the swap transaction on behalf of the wallet owner, handling slippage, priority fees, and transaction landing.
  • Inputs:
    • requestId: Unique identifier from get-ultra-order.
    • transaction: Base64-encoded transaction from get-ultra-order.
  • Output: JSON with status, transactionId, slot, inputAmountResult, outputAmountResult, swapEvents.

Example Interaction

Below are examples of interacting with the server using natural language prompts and expected responses:

Fetching a Swap Order

  • Prompt: "Get a swap order to trade 1.23 SOL for USDC."
  • Input:
  • Tool: get-ultra-order
  • Arguments:
    • inputMint: "So11111111111111111111111111111111111111112" (SOL)
    • outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" (USDC)
    • amount: "1.23"
    • slippageBps: 50
  • Response: { "requestId": "a770110b-82c9-46c8-ba61-09d955b27503", "transaction": "AQAAAA...base64-encoded-transaction...==", "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "inAmount": "1230000000", "outAmount": "19950000", "price": 0.01621951219512195 }

Executing a Swap

  • Prompt: "Execute the swap order with request ID 'a770110b-82c9-46c8-ba61-09d955b27503' using the transaction provided."
  • Input:
  • Tool: execute-ultra-order
  • Arguments:
    • requestId: "a770110b-82c9-46c8-ba61-09d955b27503"
    • transaction: "AQAAAA...base64-encoded-transaction...=="
  • Response: { "status": "Success", "transactionId": "5x...solana-transaction-signature...", "slot": 299283763, "inputAmountResult": "1230000000", "outputAmountResult": "19950000", "swapEvents": [ { "type": "swap", "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "inAmount": "1230000000", "outAmount": "19950000" } ] }

License

This project is licensed under the MIT License. See the LICENSE file for details.

See Also

`