Skip to main content
Glama

SoFinance

quote_open_position

Read-onlyIdempotent

Quote opening a NEW Raydium CLMM position in a pool (no existing NFT). Input SOL/USDC/pool token, amount, and a price range (presets tight ±0.05% / standard ±0.3% / wide ±1%, or custom minPrice/maxPrice in B per 1 A). Returns expected A/B after Jupiter swap-to-ratio, tick-aligned range, in/out-of-range, price impact, refundable vs non-refundable SOL rent (NFT + tick arrays), and Token-2022/freeze flags. Fails clearly on insufficient balance, >5% impact, transfer-fee/freeze, or unfunded tick arrays the wallet cannot pay. Read-only.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "wallet": "<wallet>",
      "poolId": "<poolId>",
      "inputMint": "<inputMint>",
      "inputKind": "<inputKind>",
      "amount": "<amount>"
    },
    "name": "quote_open_position"
  }
}

Input Schema

NameRequiredDescriptionDefault
amountYesAmount in token units (e.g. '1.5')
poolIdYesRaydium CLMM pool id (from list_rwa_pairs)
walletYesWallet public key
maxPriceNoCustom range max price (B per 1 A), required if rangePreset=custom
minPriceNoCustom range min price (B per 1 A), required if rangePreset=custom
inputKindYes'native' for SOL, 'token' otherwise
inputMintYes"SOL" or "USDC" (resolved to So11111111111111111111111111111111111111112 / EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v), or a mint address in the pool
rangePresetNoDefault standard (±0.3% around current B-per-A price)standard
resaleFloorBpsNoMinimum resale ratio in basis points (9500-10000, default 9900)
slippageToleranceBpsNoOpen-position price tolerance in basis points (0-500, default 100). Jupiter swap slippage stays 0.5%.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Well beyond the annotations, it enumerates the returned artifacts (expected A/B after Jupiter swap-to-ratio, tick-aligned range, in/out-of-range, price impact, refundable vs non-refundable rent, Token-2022/freeze flags) and names the four failure modes. The final 'Read-only' merely restates readOnlyHint, and it never states that nothing is submitted on-chain or what happens on quote staleness, so it stops short of full disclosure.

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?

Front-loaded with the verb and resource, then inputs, then return payload, then failure modes — a logical ordering with no filler. The middle sentence packs a long list of outputs into one clause chain, which slightly reduces scannability, and the trailing 'Read-only' is redundant against the annotations.

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?

For a 10-parameter, read-only quoting tool with no output schema, the description carries the important load: what comes back, what makes it fail, and how presets map to prices. It is only incomplete on the workflow side — whether a successful quote must be followed by prepare_open_position before submitting.

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?

Schema coverage is 100%, so the baseline is 3; the description nonetheless adds the numeric meanings for the tight (±0.05%) and wide (±1%) presets, which the schema only gives for 'standard'. It also clarifies that custom minPrice/maxPrice are expressed in B per 1 A, reinforcing rather than duplicating the schema, though it says nothing about resaleFloorBps or slippageToleranceBps.

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?

States a specific verb and resource — 'Quote opening a NEW Raydium CLMM position in a pool' — and immediately scopes it with '(no existing NFT)', which separates it from add-liquidity quoting without naming siblings. An agent knows exactly what it produces: a simulated quote, not a transaction.

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

Usage Guidelines3/5

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

The description supplies input requirements and failure conditions but never says when to call this versus prepare_open_position or submit_open_position, nor that it is a preview step in an open-position flow. The '(no existing NFT)' clause implies a contrast with quote_add_liquidity, but the guidance is inferred rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources