Runs on Node.js platform (version 18+) with native fetch support, required for connecting to Jupiter's Ultra API and processing transactions.
Enables executing token swaps on the Solana blockchain using Jupiter's Ultra API, providing functionality to fetch optimal swap orders and execute transactions with slippage control and priority fee handling.
Jupiter MCP Server
An MCP server for executing token swaps on the Solana blockchain using Jupiter's new Ultra API.
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
- Clone the Repository:
- Install Dependencies:
Ensure you have the MCP Server package installed along with other required dependencies:
- Client Configuration:
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 fromget-ultra-order
.transaction
: Base64-encoded transaction fromget-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"
- Tool:
- Response:
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...=="
- Tool:
- Response:
License
This project is licensed under the MIT License. See the LICENSE file for details.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An MCP server for executing token swaps on the Solana blockchain using Jupiter's Ultra API, enabling users to fetch optimal swap orders and execute transactions with slippage control.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables Claude to perform Solana token swaps through Jupiter's API, including getting quotes, building transactions, and sending swap transactions on the Solana blockchain.Last updated -331TypeScriptMIT License
- -securityAlicense-qualityA simple MCP server implementation that provides AI models with basic Solana RPC methods and helpful development prompts.Last updated -33TypeScriptMIT License
- -securityAlicense-qualityAn MCP server for AI agents to automate token swaps on Uniswap DEX across multiple blockchains.Last updated -126JavaScriptMIT License
- -securityFlicense-qualityAn MCP server that enables cross-chain token swapping between different blockchains using 1inch Fusion+ API, along with portfolio management tools for tracking assets across chains.Last updated -1JavaScript