trackmcp
Back to directory
kukapay

jupiter-mcp

View on GitHub

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

21 stars JavaScriptAI & Machine Learning Updated Oct 31, 2025

Documentation

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:

json
{
  "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:
code
{
    "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:
code
{
    "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.

Frequently asked questions

What is jupiter-mcp?

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

How do I install jupiter-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is jupiter-mcp open source?

Yes — it is hosted on GitHub at https://github.com/kukapay/jupiter-mcp and has 21 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP