Purpose
jupiter-mcp is a Model Context Protocol (MCP) server for the Jupiter API. Jupiter is described as the premier DEX aggregator on Solana. This server supports instant swaps through the Ultra API and limit orders through the Trigger API, for MCP clients to call.
Main capabilities
The provided tools fall into two categories:
- Ultra API (instant swaps): perform swap-related operations.
- Trigger API (limit orders): manage limit orders.
According to the documentation, the following operations are free (API calls only): get_swap_quote, get_balances, get_shield, search_token, create_limit_order, cancel_limit_order, cancel_limit_orders, get_limit_orders.
The following operations are paid (execute real transactions and consume SOL): execute_swap_transaction, execute_limit_order.
Difference between swaps and limit orders
- Swaps (Ultra API): execute immediately at the current market price.
- Limit orders (Trigger API): execute automatically when the target price is reached.
Automatic referral system
All orders include a 255 basis point (2.55%) referral fee (the allowed maximum). The referral wallet address is 8cK8hCyRQCp52nVuPLnLL71afkRvRcFibSwHMjGFT8bm. The documentation notes: fees are only charged for tokens with a referral token account (currently SOL), to support development and maintenance.
Usage
Prerequisites
- Node.js and npx (for envmcp support): download from https://nodejs.org/ and verify with npx --version.
- uv/uvx (Python package manager): install from https://docs.astral.sh/uv/getting-started/installation/ install. macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh;Windows:powershell -c "irm https://astral.sh/uv/install.ps1 | iex"; verify with uvx --version.
Prebuilt Desktop Extension (DXT)
Download jupiter-mcp-latest.dxt. This DXT includes: one-click installation for Claude Desktop, automatic dependency management with uvx, secure environment variable configuration, and built-in error handling and debugging. The DXT file is automatically updated on every commit.
Installation options
- Option 1: Claude Desktop DXT (recommended) — download the DXT file and double-click to install; see dxt/README.md for details.
- Option 2: Quick install with Cursor — copy the link and paste it into the browser address bar or the Cursor command palette, then follow the prompts to complete installation; you need to replace REPLACE_THIS with your actual Solana private key. The documentation notes that these links are only valid in Cursor.
MCP configuration
Add the corresponding configuration to your MCP client configuration. You can also use a .env file to load environment variables, to avoid storing sensitive data in the MCP configuration; this method uses envmcp to securely load PRIVATE_KEY from the .env file, and you need to replace ENV_FILE_PATH with the absolute path of the .env file (for example /Users/yourname/.env or /home/user/.env).
Required environment variables:
- PRIVATE_KEY: base58-encoded Solana private key (exported from Phantom wallet).
- Optional: if using a custom RPC endpoint, you can override SOLANA_RPC_URL.
Preconfigured value:
- SOLANA_RPC_URL:https://api.mainnet-beta.solana.com
- SOLANA_NETWORK: mainnet-beta
- REQUEST_TIMEOUT: 30 seconds
- PRIVATE_KEY: Replace REPLACE_THIS with a base58-encoded private key
Alternative Installation (Development)
For local development or testing: use uv for dependency management, and configure environment variables via a .env file.
Development and CI/CD
The project includes automated DXT builds integrated with pre-commit hooks: automatically build the DXT file when the dxt/ folder changes; always create jupiter-mcp-latest.dxt for download; the latest DXT file always stays in sync with the main branch. Manual DXT builds and pre-commit setup are also supported.
Testing and Security
The project includes comprehensive tests with security features:
Free tests (default, no SOL consumed): simulated execution tests, API quote/balance checks, token search and security checks, error handling verification.
Paid tests (require the --run-paid-tests flag): execute real transactions on mainnet. Swap tests use a very small amount (0.0001 SOL ≈ $0.015). Limit order tests create orders 20% above market price, using 0.04 SOL (≈ $6) to meet the minimum requirement; orders will not fill at the high price and are automatically canceled after verification. Includes full transaction signing and broadcasting.
Test security features: paid tests are explicitly marked with @pytest.mark.paid; real execution uses minimal transaction amounts; limit orders use out-of-range prices that will not fill; there are clear warnings before spending real funds; transaction confirmations include blockchain signatures.
Security Notes
- Private keys never leave the local machine.
- All API calls use HTTPS.
- Never commit the .env file to version control.
Troubleshooting
- "PRIVATE_KEY environment variable is required": copy env.example to .env and set the private key.
- "Invalid PRIVATE_KEY format": use a base58-encoded private key (exported from Phantom wallet).
- Connection timeout: try a different RPC URL or increase REQUEST_TIMEOUT.
Limitations
The documentation does not provide further details on the range of supported platforms, fee pricing specifics, performance metrics, or regional availability; this content is not currently provided.