Skip to main content
Glama

Server Details

Jupiter - 4 tools for swap quotes, liquidity pools, and trading data

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL
Repository
junct-bot/jupiter-mcp
GitHub Stars
0
Server Listing
Jupiter MCP Server

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • Changedquote_get16 fields changed
      • addedInput schema / properties / amount
        Added value: +{
        +  "description": "- Raw amount to swap (before decimals) - Input Amount if `SwapMode=ExactIn` - Output Amount if `SwapMode=ExactOut`",
        +  "type": "number"
        +}
      • addedInput schema / properties / asLegacyTransaction
        Added value: +{
        +  "description": "- Instead of using versioned transaction, this will use the legacy transaction",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / dexes
        Added value: +{
        +  "description": "- Multiple DEXes can be pass in by comma separating them - For example: `dexes=Raydium,Orca+V2,Meteora+DLMM` - If a DEX is indicated, the route will **only use** that DEX - Full list of DEXes here: https://lite-api.jup.ag/swap/v1/program-id-to-label",
        +  "type": "array"
        +}
      • addedInput schema / properties / dynamicSlippage
        Added value: +{
        +  "description": "- No longer applicable, only required to pass in via `/swap` endpoint",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / excludeDexes
        Added value: +{
        +  "description": "- Multiple DEXes can be pass in by comma separating them - For example: `excludeDexes=Raydium,Orca+V2,Meteora+DLMM` - If a DEX is indicated, the route will **not use** that DEX - Full list of DEXes here: https://lite-api.jup.ag/swap/v1/program-id-to-label",
        +  "type": "array"
        +}
      • addedInput schema / properties / inputMint
        Added value: +{
        +  "description": "query parameter: inputMint (string)",
        +  "type": "string"
        +}
      • addedInput schema / properties / instructionVersion
        Added value: +{
        +  "description": "- The version of instruction to use in the swap program",
        +  "type": "string"
        +}
      • addedInput schema / properties / maxAccounts
        Added value: +{
        +  "description": "- Rough estimate of the max accounts to be used for the quote - Useful if composing your own transaction or to be more precise in resource accounting for better routes",
        +  "type": "number"
        +}
      • addedInput schema / properties / onlyDirectRoutes
        Added value: +{
        +  "description": "- Direct route limits Jupiter routing to single hop routes only - This may result in worse routes",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / outputMint
        Added value: +{
        +  "description": "query parameter: outputMint (string)",
        +  "type": "string"
        +}
      • addedInput schema / properties / platformFeeBps
        Added value: +{
        +  "description": "- Take fees in basis points - If `platformFeeBps` is passed in, the `feeAccount` in `/swap` must be passed as well",
        +  "type": "number"
        +}
      • addedInput schema / properties / restrictIntermediateTokens
        Added value: +{
        +  "description": "- Restrict intermediate tokens within a route to a set of more stable tokens - This will help to reduce exposure to potential high slippage routes",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / slippageBps
        Added value: +{
        +  "description": "- Default: 50 - This is threshold denoted in basis points. - If exact in and output amount exceeds the threshold, then the swap transaction will fail.",
        +  "type": "number"
        +}
      • addedInput schema / properties / swapMode
        Added value: +{
        +  "description": "- ExactOut is for supporting use cases where you need an exact output amount - In the case of `ExactIn`, the slippage is on the output token - In the case of `ExactOut`, the slippage is on the input token - Not all AMMs support `ExactOut`: Currently only Orca Whirlpool, Raydium CLMM, Raydium CPMM - We do not recommend using `ExactOut` for most use cases",
        +  "type": "string"
        +}
      • removedInput schema / properties / undefined
        Removed value: -{
        -  "description": "undefined parameter: undefined (unknown)",
        -  "type": "string"
        -}
      • addedInput schema / required
        Added value: +[
        +  "inputMint",
        +  "outputMint",
        +  "amount"
        +]
    • Changedswap_instructions_post14 fields changed
      • changedInput schema / properties / asLegacyTransaction / description
        Previous value: -"- Builds a legacy transaction rather than the default versioned transaction\n- Used together with `asLegacyTransaction` in `/quote`, otherwise the transaction might be too large\n"New value: +"- Builds a legacy transaction rather than the default versioned transaction - Used together with `asLegacyTransaction` in `/quote`, otherwise the transaction might be too large"
      • changedInput schema / properties / blockhashSlotsToExpiry / description
        Previous value: -"- Pass in the number of slots we want the transaction to be valid for\n- Example: If you pass in 10 slots, the transaction will be valid for ~400ms * 10 = approximately 4 seconds before it expires\n"New value: +"- Pass in the number of slots we want the transaction to be valid for - Example: If you pass in 10 slots, the transaction will be valid for ~400ms * 10 = approximately 4 seconds before it expires"
      • changedInput schema / properties / computeUnitPriceMicroLamports / description
        Previous value: -"- To use an exact compute unit price to calculate priority fee\n- `computeUnitLimit (1400000) * computeUnitPriceMicroLamports`\n- We recommend using `prioritizationFeeLamports` and `dynamicComputeUnitLimit` instead of passing in your own compute unit price\n"New value: +"- To use an exact compute unit price to calculate priority fee - `computeUnitLimit (1400000) * computeUnitPriceMicroLamports` - We recommend using `prioritizationFeeLamports` and `dynamicComputeUnitLimit` instead of passing in your own compute unit price"
      • changedInput schema / properties / destinationTokenAccount / description
        Previous value: -"- Public key of a token account that will be used to receive the token out of the swap\n- If not provided, the signer's token account will be used\n- If provided, we assume that the token account is already initialized\n- `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive\n"New value: +"- Public key of a token account that will be used to receive the token out of the swap - If not provided, the signer's token account will be used - If provided, we assume that the token account is already initialized - `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive"
      • changedInput schema / properties / dynamicComputeUnitLimit / description
        Previous value: -"- When enabled, it will do a swap simulation to get the compute unit used and set it in ComputeBudget's compute unit limit\n- This incurs one extra RPC call to simulate this\n- We recommend to enable this to estimate compute unit correctly and reduce priority fees needed or have higher chance to be included in a block\n"New value: +"- When enabled, it will do a swap simulation to get the compute unit used and set it in ComputeBudget's compute unit limit - This incurs one extra RPC call to simulate this - We recommend to enable this to estimate compute unit correctly and reduce priority fees needed or have higher chance to be included in a block"
      • changedInput schema / properties / dynamicSlippage / description
        Previous value: -"- When enabled, it estimates slippage and apply it in the swap transaction directly, overwriting the `slippageBps` parameter in the quote response.\n- This is no longer maintained, we are focusing efforts on RTSE on Ultra Swap API\n"New value: +"- When enabled, it estimates slippage and apply it in the swap transaction directly, overwriting the `slippageBps` parameter in the quote response. - This is no longer maintained, we are focusing efforts on RTSE on Ultra Swap API"
      • changedInput schema / properties / feeAccount / description
        Previous value: -"- An initialized token account that will be used to collect fees\n- The mint of the token account **can only be either the input or output mint of the swap**\n- Swap API no longer requires the use of the Referral Program\n- If `platformFeeBps` is passed in `/quote`, the `feeAccount` must be passed as well\n"New value: +"- An initialized token account that will be used to collect fees - The mint of the token account **can only be either the input or output mint of the swap** - Swap API no longer requires the use of the Referral Program - If `platformFeeBps` is passed in `/quote`, the `feeAccount` must be passed as well"
      • changedInput schema / properties / nativeDestinationAccount / description
        Previous value: -"- Public key of an account that will be used to receive the native SOL token out of the swap\n- If not provided, the swap will default unwrap the WSOL and transfer the native SOL to the swap authority account\n- If provided, we will unwrap the WSOL and transfer the native SOL to the account\n- Only works if the output mint is SOL, is using the V2 instructions and the account passed in is not owned by token program\n- When sending native SOL to a new account, you must swap at least enough to cover the rent required to create it.\n- `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive\n"New value: +"- Public key of an account that will be used to receive the native SOL token out of the swap - If not provided, the swap will default unwrap the WSOL and transfer the native SOL to the swap authority account - If provided, we will unwrap the WSOL and transfer the native SOL to the account - Only works if the output mint is SOL, is using the V2 instructions and the account passed in is not owned by token program - When sending native SOL to a new account, you must swap at least enough to cover the rent required to create it. - `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive"
      • changedInput schema / properties / payer / description
        Previous value: -"- Allow a custom payer to pay for the transaction fees and rent of token accounts\n- Note that users can close their ATAs elsewhere and have you reopen them again, your fees should account for this\n"New value: +"- Allow a custom payer to pay for the transaction fees and rent of token accounts - Note that users can close their ATAs elsewhere and have you reopen them again, your fees should account for this"
      • changedInput schema / properties / prioritizationFeeLamports / description
        Previous value: -"- To specify a level or amount of additional fees to prioritize the transaction\n- It can be used for EITHER priority fee OR Jito tip (not both at the same time)\n- If you want to include both, you will need to use `/swap-instructions` to add both at the same time\n- Defaults to `auto`, but preferred to use `priorityLevelWithMaxLamports` as it may be more accurate when accounting local fee market\n- Fixed lamports can be passed in as an integer in the `prioritizationFeeLamports` parameter\n"New value: +"- To specify a level or amount of additional fees to prioritize the transaction - It can be used for EITHER priority fee OR Jito tip (not both at the same time) - If you want to include both, you will need to use `/swap-instructions` to add both at the same time - Defaults to `auto`, but preferred to use `priorityLevelWithMaxLamports` as it may be more accurate when accounting local fee market - Fixed lamports can be passed in as an integer in the `prioritizationFeeLamports` parameter"
      • changedInput schema / properties / skipUserAccountsRpcCalls / description
        Previous value: -"- When enabled, it will not do any additional RPC calls to check on required accounts\n- The returned swap transaction will still attempt to create required accounts regardless if it exists or not\n"New value: +"- When enabled, it will not do any additional RPC calls to check on required accounts - The returned swap transaction will still attempt to create required accounts regardless if it exists or not"
      • changedInput schema / properties / trackingAccount / description
        Previous value: -"- Specify any public key that belongs to you to track the transactions\n- Useful for integrators to get all the swap transactions from this public key\n- Query the data using a block explorer like Solscan/SolanaFM or query like Dune/Flipside\n"New value: +"- Specify any public key that belongs to you to track the transactions - Useful for integrators to get all the swap transactions from this public key - Query the data using a block explorer like Solscan/SolanaFM or query like Dune/Flipside"
      • changedInput schema / properties / useSharedAccounts / description
        Previous value: -"- The default is determined dynamically by the routing engine, allowing us to optimize for compute units, etc\n- This enables the usage of shared program accounts, this is essential as complex routing will require multiple intermediate token accounts which the user might not have\n- If true, you do not need to handle the creation of intermediate token accounts for the user\n- Do note, shared accounts route will fail on some new AMMs (low liquidity token)\n"New value: +"- The default is determined dynamically by the routing engine, allowing us to optimize for compute units, etc - This enables the usage of shared program accounts, this is essential as complex routing will require multiple intermediate token accounts which the user might not have - If true, you do not need to handle the creation of intermediate token accounts for the user - Do note, shared accounts route will fail on some new AMMs (low liquidity token)"
      • changedInput schema / properties / wrapAndUnwrapSol / description
        Previous value: -"- To automatically wrap/unwrap SOL in the transaction, as WSOL is an SPL token while native SOL is not\n- When true and input mint is SOL, it will wrap the SOL amount to WSOL and swap\n- When true and output mint is SOL, it will unwrap the WSOL back to SOL\n- When false and input mint is SOL, it will use existing WSOL amount to swap\n- When false and output mint is SOL, it will not unwrap the WSOL to SOL\n- To set this parameter to false, you need to have the WSOL token account initialized\n"New value: +"- To automatically wrap/unwrap SOL in the transaction, as WSOL is an SPL token while native SOL is not - When true and input mint is SOL, it will wrap the SOL amount to WSOL and swap - When true and output mint is SOL, it will unwrap the WSOL back to SOL - When false and input mint is SOL, it will use existing WSOL amount to swap - When false and output mint is SOL, it will not unwrap the WSOL to SOL - To set this parameter to false, you need to have the WSOL token account initialized"
    • Changedswap_post14 fields changed
      • changedInput schema / properties / asLegacyTransaction / description
        Previous value: -"- Builds a legacy transaction rather than the default versioned transaction\n- Used together with `asLegacyTransaction` in `/quote`, otherwise the transaction might be too large\n"New value: +"- Builds a legacy transaction rather than the default versioned transaction - Used together with `asLegacyTransaction` in `/quote`, otherwise the transaction might be too large"
      • changedInput schema / properties / blockhashSlotsToExpiry / description
        Previous value: -"- Pass in the number of slots we want the transaction to be valid for\n- Example: If you pass in 10 slots, the transaction will be valid for ~400ms * 10 = approximately 4 seconds before it expires\n"New value: +"- Pass in the number of slots we want the transaction to be valid for - Example: If you pass in 10 slots, the transaction will be valid for ~400ms * 10 = approximately 4 seconds before it expires"
      • changedInput schema / properties / computeUnitPriceMicroLamports / description
        Previous value: -"- To use an exact compute unit price to calculate priority fee\n- `computeUnitLimit (1400000) * computeUnitPriceMicroLamports`\n- We recommend using `prioritizationFeeLamports` and `dynamicComputeUnitLimit` instead of passing in your own compute unit price\n"New value: +"- To use an exact compute unit price to calculate priority fee - `computeUnitLimit (1400000) * computeUnitPriceMicroLamports` - We recommend using `prioritizationFeeLamports` and `dynamicComputeUnitLimit` instead of passing in your own compute unit price"
      • changedInput schema / properties / destinationTokenAccount / description
        Previous value: -"- Public key of a token account that will be used to receive the token out of the swap\n- If not provided, the signer's token account will be used\n- If provided, we assume that the token account is already initialized\n- `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive\n"New value: +"- Public key of a token account that will be used to receive the token out of the swap - If not provided, the signer's token account will be used - If provided, we assume that the token account is already initialized - `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive"
      • changedInput schema / properties / dynamicComputeUnitLimit / description
        Previous value: -"- When enabled, it will do a swap simulation to get the compute unit used and set it in ComputeBudget's compute unit limit\n- This incurs one extra RPC call to simulate this\n- We recommend to enable this to estimate compute unit correctly and reduce priority fees needed or have higher chance to be included in a block\n"New value: +"- When enabled, it will do a swap simulation to get the compute unit used and set it in ComputeBudget's compute unit limit - This incurs one extra RPC call to simulate this - We recommend to enable this to estimate compute unit correctly and reduce priority fees needed or have higher chance to be included in a block"
      • changedInput schema / properties / dynamicSlippage / description
        Previous value: -"- When enabled, it estimates slippage and apply it in the swap transaction directly, overwriting the `slippageBps` parameter in the quote response.\n- This is no longer maintained, we are focusing efforts on RTSE on Ultra Swap API\n"New value: +"- When enabled, it estimates slippage and apply it in the swap transaction directly, overwriting the `slippageBps` parameter in the quote response. - This is no longer maintained, we are focusing efforts on RTSE on Ultra Swap API"
      • changedInput schema / properties / feeAccount / description
        Previous value: -"- An initialized token account that will be used to collect fees\n- The mint of the token account **can only be either the input or output mint of the swap**\n- Swap API no longer requires the use of the Referral Program\n- If `platformFeeBps` is passed in `/quote`, the `feeAccount` must be passed as well\n"New value: +"- An initialized token account that will be used to collect fees - The mint of the token account **can only be either the input or output mint of the swap** - Swap API no longer requires the use of the Referral Program - If `platformFeeBps` is passed in `/quote`, the `feeAccount` must be passed as well"
      • changedInput schema / properties / nativeDestinationAccount / description
        Previous value: -"- Public key of an account that will be used to receive the native SOL token out of the swap\n- If not provided, the swap will default unwrap the WSOL and transfer the native SOL to the swap authority account\n- If provided, we will unwrap the WSOL and transfer the native SOL to the account\n- Only works if the output mint is SOL, is using the V2 instructions and the account passed in is not owned by token program\n- When sending native SOL to a new account, you must swap at least enough to cover the rent required to create it.\n- `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive\n"New value: +"- Public key of an account that will be used to receive the native SOL token out of the swap - If not provided, the swap will default unwrap the WSOL and transfer the native SOL to the swap authority account - If provided, we will unwrap the WSOL and transfer the native SOL to the account - Only works if the output mint is SOL, is using the V2 instructions and the account passed in is not owned by token program - When sending native SOL to a new account, you must swap at least enough to cover the rent required to create it. - `destinationTokenAccount` and `nativeDestinationAccount` are mutually exclusive"
      • changedInput schema / properties / payer / description
        Previous value: -"- Allow a custom payer to pay for the transaction fees and rent of token accounts\n- Note that users can close their ATAs elsewhere and have you reopen them again, your fees should account for this\n"New value: +"- Allow a custom payer to pay for the transaction fees and rent of token accounts - Note that users can close their ATAs elsewhere and have you reopen them again, your fees should account for this"
      • changedInput schema / properties / prioritizationFeeLamports / description
        Previous value: -"- To specify a level or amount of additional fees to prioritize the transaction\n- It can be used for EITHER priority fee OR Jito tip (not both at the same time)\n- If you want to include both, you will need to use `/swap-instructions` to add both at the same time\n- Defaults to `auto`, but preferred to use `priorityLevelWithMaxLamports` as it may be more accurate when accounting local fee market\n- Fixed lamports can be passed in as an integer in the `prioritizationFeeLamports` parameter\n"New value: +"- To specify a level or amount of additional fees to prioritize the transaction - It can be used for EITHER priority fee OR Jito tip (not both at the same time) - If you want to include both, you will need to use `/swap-instructions` to add both at the same time - Defaults to `auto`, but preferred to use `priorityLevelWithMaxLamports` as it may be more accurate when accounting local fee market - Fixed lamports can be passed in as an integer in the `prioritizationFeeLamports` parameter"
      • changedInput schema / properties / skipUserAccountsRpcCalls / description
        Previous value: -"- When enabled, it will not do any additional RPC calls to check on required accounts\n- The returned swap transaction will still attempt to create required accounts regardless if it exists or not\n"New value: +"- When enabled, it will not do any additional RPC calls to check on required accounts - The returned swap transaction will still attempt to create required accounts regardless if it exists or not"
      • changedInput schema / properties / trackingAccount / description
        Previous value: -"- Specify any public key that belongs to you to track the transactions\n- Useful for integrators to get all the swap transactions from this public key\n- Query the data using a block explorer like Solscan/SolanaFM or query like Dune/Flipside\n"New value: +"- Specify any public key that belongs to you to track the transactions - Useful for integrators to get all the swap transactions from this public key - Query the data using a block explorer like Solscan/SolanaFM or query like Dune/Flipside"
      • changedInput schema / properties / useSharedAccounts / description
        Previous value: -"- The default is determined dynamically by the routing engine, allowing us to optimize for compute units, etc\n- This enables the usage of shared program accounts, this is essential as complex routing will require multiple intermediate token accounts which the user might not have\n- If true, you do not need to handle the creation of intermediate token accounts for the user\n- Do note, shared accounts route will fail on some new AMMs (low liquidity token)\n"New value: +"- The default is determined dynamically by the routing engine, allowing us to optimize for compute units, etc - This enables the usage of shared program accounts, this is essential as complex routing will require multiple intermediate token accounts which the user might not have - If true, you do not need to handle the creation of intermediate token accounts for the user - Do note, shared accounts route will fail on some new AMMs (low liquidity token)"
      • changedInput schema / properties / wrapAndUnwrapSol / description
        Previous value: -"- To automatically wrap/unwrap SOL in the transaction, as WSOL is an SPL token while native SOL is not\n- When true and input mint is SOL, it will wrap the SOL amount to WSOL and swap\n- When true and output mint is SOL, it will unwrap the WSOL back to SOL\n- When false and input mint is SOL, it will use existing WSOL amount to swap\n- When false and output mint is SOL, it will not unwrap the WSOL to SOL\n- To set this parameter to false, you need to have the WSOL token account initialized\n"New value: +"- To automatically wrap/unwrap SOL in the transaction, as WSOL is an SPL token while native SOL is not - When true and input mint is SOL, it will wrap the SOL amount to WSOL and swap - When true and output mint is SOL, it will unwrap the WSOL back to SOL - When false and input mint is SOL, it will use existing WSOL amount to swap - When false and output mint is SOL, it will not unwrap the WSOL to SOL - To set this parameter to false, you need to have the WSOL token account initialized"
  2. 4 tool updates
    • First observedprogram_id_to_label_get
    • First observedquote_get
    • First observedswap_instructions_post
    • First observedswap_post

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    MCP server providing AI agents with native access to Jupiter's full DeFi stack on Solana. It offers 17 tools covering swaps, tokens, lending, limit orders, DCA, prediction markets, perpetuals, and portfolio management.
    16
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables fetching best swap quotes on Solana via Jupiter aggregator with pay-per-call x402 micropayments.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Non-custodial Solana swap & limit order engine for AI agents. 21 tools - swap, limit, trailing, TWAP, DCA, combo orders - across Raydium, PumpSwap, Orca, Meteora. Jito MEV-protected execution. Ed25519-verified server messages. Private key never leaves the process.
    21
    205
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a distinct purpose: program_id_to_label_get maps program IDs to labels for error handling, quote_get retrieves a quote for a swap, swap_instructions_post generates instructions from a quote, and swap_post creates a swap transaction. There is no overlap in functionality, and the descriptions clearly differentiate their roles in the swap workflow.

Naming Consistency4/5

The tool names follow a consistent snake_case pattern with a verb_noun structure (e.g., program_id_to_label_get, quote_get, swap_instructions_post, swap_post), which is predictable and readable. The minor deviation is that 'program_id_to_label_get' includes an extra 'to_label' element, but overall the naming is highly consistent.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of facilitating swaps on Jupiter. Each tool earns its place by covering essential steps: mapping program IDs, getting quotes, generating instructions, and executing swaps. This count is appropriate and avoids being too thin or heavy.

Completeness5/5

The tool set provides complete coverage for the swap domain, including error mapping (program_id_to_label_get), quote retrieval (quote_get), instruction generation (swap_instructions_post), and transaction creation (swap_post). There are no obvious gaps; agents can perform a full swap workflow without dead ends.