Jupiter Ultra
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.
Details
- Author
- kukapay
- Repository
- kukapay/jupiter-mcp
- GitHub stars
- 3
- Downloads
- 276
- License
- MIT License
- Categories
- Developer Tools, AI, API, Infrastructure, Other
- Tags
- #web, #integration
Jump to
- 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.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Jupiter UltraCommand (node, npx, python, etc.)nodeArguments-
Argument 1
path/to/jupiter-mcp/server/index.js
Environment-
PRIVATE_KEY
your private key -
SOLANA_RPC_URL
solana rpc url you can access
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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"
}
}
}
}
get-ultra-order
Fetches a swap order from Jupiter's Ultra API, leveraging both DEX routing and RFQ for optimal pricing. Inputs: inputMint (string), outputMint (string), amount (string), slippageBps (number). Output: JSON with requestId, transaction (base64-encoded), inputMint, outputMint, inAmount, outAmount, price.
execute-ultra-order
Requests Jupiter to execute the swap transaction on behalf of the wallet owner, handling slippage, priority fees, and transaction landing. Inputs: requestId (string), transaction (base64-encoded string). Output: JSON with status, transactionId, slot, inputAmountResult, outputAmountResult, swapEvents.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"jupiter ultra": {
"env": {
"PRIVATE_KEY": "your private key",
"SOLANA_RPC_URL": "solana rpc url you can access"
},
"args": [
"path/to/jupiter-mcp/server/index.js"
],
"command": "node"
}
}
}
Linux
{
"env": {
"PRIVATE_KEY": "your private key",
"SOLANA_RPC_URL": "solana rpc url you can access"
},
"args": [
"path/to/jupiter-mcp/server/index.js"
],
"command": "node"
}
Macos
{
"env": {
"PRIVATE_KEY": "your private key",
"SOLANA_RPC_URL": "solana rpc url you can access"
},
"args": [
"path/to/jupiter-mcp/server/index.js"
],
"command": "node"
}
Windows
{
"env": {
"PRIVATE_KEY": "your private key",
"SOLANA_RPC_URL": "solana rpc url you can access"
},
"args": [
"/c",
"node",
"path/to/jupiter-mcp/server/index.js"
],
"command": "cmd"
}
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
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




