Skip to main content
Glama

get_solana_swap_quote

Read-onlyIdempotent

Fetch a Jupiter v6 swap quote to preview the route, expected output, slippage, and price impact before committing to a transaction on Solana.

Instructions

READ-ONLY — fetch a Jupiter v6 swap quote for previewing the route, expected output, slippage, and price impact before committing to a transaction. Parallel to EVM's get_swap_quote (which uses LiFi). Calls the Jupiter aggregator at lite-api.jup.ag/swap/v1/quote, returns the opaque quoteResponse (which must be passed back verbatim to prepare_solana_swap) plus human-facing fields (symbols, amounts with decimals applied, route labels like 'Meteora DLMM' / 'Raydium CLMM', price impact %). Pass raw integer amounts in base units (e.g., '1000000' for 1 USDC). For native SOL, use the wrapped-SOL mint So11111111111111111111111111111111111111112 — Jupiter auto-wraps/unwraps at swap time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputMintYesBase58 mint address of the token being sold. For native SOL use the wrapped-SOL mint So11111111111111111111111111111111111111112 — Jupiter auto-wraps/unwraps.
outputMintYesBase58 mint address of the token being bought. Same wrapped-SOL convention as inputMint.
amountYesRaw integer amount in base units (NOT decimal-adjusted). For ExactIn swaps this is how much inputMint to sell; for ExactOut it's how much outputMint to buy. Example: to sell 1 USDC (6 decimals), pass '1000000'.
slippageBpsNoSlippage tolerance in basis points. 50 bps = 0.5%. Default 50.
swapModeNoExactIn: sell exactly `amount` inputMint, receive at least minOutput. ExactOut: buy exactly `amount` outputMint, sell at most maxInput.ExactIn
dexesNoRestrict Jupiter routing to a specific set of DEXes. Common values: "Raydium", "Orca V2", "Meteora", "Meteora DLMM", "Phoenix", "Lifinity V2", "Whirlpool". When the user names a DEX ("via Raydium"), pass it here — without a filter, Jupiter silently picks the best-output route regardless. Multiple entries OR'd. If no route exists the call errors clearly; agent should offer to retry without filter.
excludeDexesNoBlocklist version of `dexes` — DEXes Jupiter must avoid. Use when the user says "not via Raydium" or "avoid Orca". Independent of `dexes`: pass both to constrain to allowlist minus blocklist.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint, but the description adds valuable behavioral details: the need to pass the quote verbatim to prepare_solana_swap, the auto-wrapping/unwrapping of SOL, and error behavior when no route exists. This adds context beyond the annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph but efficiently covers purpose, usage, parameter tips, and behavioral notes. It is front-loaded with the purpose. While not overly long, it could be better structured with bullet points for key points, but it remains concise and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no output schema), the description covers input format, mint conventions, swap modes, dex filtering, and the relationship to prepare_solana_swap. It mentions the output includes opaque quoteResponse and human-readable fields. Minor omission: no explicit mention of pagination or rate limits, but these are not critical for a quote tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so the description does not need to repeat parameter details. However, it adds meaningful context such as the wrapped-SOL mint convention, usage examples for 'dexes' and 'excludeDexes', and clarification on base units. This goes beyond the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'READ-ONLY — fetch a Jupiter v6 swap quote for previewing the route, expected output, slippage, and price impact before committing to a transaction.' It also distinguishes itself from the sibling 'get_swap_quote' which is for EVM using LiFi, making the tool's purpose specific and well-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: it is a preview step before 'prepare_solana_swap', and it is the Solana counterpart to 'get_swap_quote'. It also explains that the quote must be passed verbatim. However, it does not explicitly mention when not to use it or list alternative tools beyond the EVM sibling, leaving a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/szhygulin/vaultpilot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server