Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Jupiter Ultra

FreeStale (595d)

Provides a bridge to Jupiter's Ultra API for executing token swaps on Solana blockchain with optimal routing, competitive pricing, and transaction handling for

GitHubEmbed

About

Provides a bridge to Jupiter's Ultra API for executing token swaps on Solana blockchain with optimal routing, competitive pricing, and transaction handling for DEX and RFQ operations.

README

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:

    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:

    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.

from github.com/kukapay/jupiter-mcp

Install Jupiter Ultra in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install jupiter-ultra

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add jupiter-ultra --env PRIVATE_KEY="" --env SOLANA_RPC_URL="" -- npx -y jupiter-mcp

Step-by-step: how to install Jupiter Ultra

FAQ

Is Jupiter Ultra MCP free?

Yes, Jupiter Ultra MCP is free — one-click install via Unyly at no cost.

Does Jupiter Ultra need an API key?

Yes, it requires environment variables: PRIVATE_KEY, SOLANA_RPC_URL. Unyly injects them into the config during install.

Is Jupiter Ultra hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Jupiter Ultra in Claude Desktop, Claude Code or Cursor?

Open Jupiter Ultra on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Changes

Versions and requested access over time.

  • New version published
  • New version published
  • New version published
  • New version published
  • New version published
  • New version published
  • New version published
  • New version published

Related MCPs

Compare Jupiter Ultra with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs