The split is what makes it usable: jupiter_get_quote is a pure read that can be called repeatedly to test slippageBps, onlyDirectRoutes and excludeDexes before anything is committed, and only jupiter_send_swap_transaction touches the network. Fee behaviour is explicit rather than inferred — prioritizationFeeLamports and computeUnitPriceMicroLamports are set on the build, skipPreflight and maxRetries on the send. Detail lives in the parameter names rather than the descriptions, which run to a single line each: asLegacyTransaction, maxAccounts and platformFeeBps arrive with no guidance on when to set them.
A three-tool Jupiter swap path for Solana: jupiter_get_quote prices a route, jupiter_build_swap_transaction turns that quote into a transaction, jupiter_send_swap_transaction submits it.
- Routing you control at quote time: jupiter_get_quote takes inputMint, outputMint, amount and swapMode, and narrows the route through slippageBps, onlyDirectRoutes, excludeDexes, maxAccounts and platformFeeBps.
- A build step tied to a specific wallet: jupiter_build_swap_transaction takes the quoteResponse and a userPublicKey, sets fee priority through prioritizationFeeLamports and computeUnitPriceMicroLamports, and can fall back to a legacy transaction with asLegacyTransaction.
- Submission with the failure modes exposed: jupiter_send_swap_transaction takes the swapTransaction or a serializedTransaction, with maxRetries and skipPreflight.
No credentials are configured. Building needs the userPublicKey the swap is for, and submitting needs a signed transaction — no signing tool is exposed here, so the signature has to come from wherever the key lives.
One command — npx @mcp-dockmaster/mcp-server-jupiter
