Skip to main content
Glama

Ekubo Protocol

Prepare an LP position deposit

prepare_lp_position_deposit
Read-only

Prepare a v3 position mint or add_liquidity, initializing a new pool at initial_tick when requested, with every approval, refund and cleanup step. Ekubo ticks use base 1.000001, so tick = ln(price in base units) x 10^6 and a Uniswap-style 1.0001 calculation is 100x too small. The token ratio follows the range and current price: do every swap first, re-read the tick with the pool's current_state_query, then mint once. If the wallet lacks one side, execute that swap separately and size the deposit from the measured balance after its receipt, never a quoted output. See ekubo://docs/lp-position-workflow.

Input Schema

NameRequiredDescriptionDefault
modeNomint_new
senderYesaddress
pool_idNoOmit when pool_key is supplied (decimal or 0x-hex integer)
chain_idYesEVM chain ID
pool_keyNoRequired for an uninitialized pool. PoolKey {token0, token1, config}: token addresses (zero = native), bytes32 config
token_idNoadd_liquidity only (decimal or 0x-hex integer)
tick_lowerYes
tick_upperYes
max_amount0YesMax token0 base units; 0 for single-sided (decimal integer)
max_amount1YesMax token1 base units; 0 for single-sided (decimal integer)
core_addressYesv3 Core address
initial_tickNoUninitialized pool only: initializes at this tick
slippage_bpsYesUser-selected liquidity slippage
pool_initializedNofalse only for a new pool to initialize here

Output Schema

NameRequiredDescriptionDefault
execution_plan_referenceNoartifact_reference; pass unchanged

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description carries most of the burden and does add real context: the tool bundles approval, refund and cleanup steps, can initialize a pool at initial_tick, and requires a swap-then-recheck-then-mint ordering. It never explicitly says it returns unsigned transactions rather than broadcasting, which is the one behavioral fact an agent most needs confirmed for a 'prepare' tool.

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 front-loaded with the core action, then layers the tick-math caveat and the ordering rules, each sentence adding a distinct constraint. Some sentences are long and the 'See ekubo://docs/lp-position-workflow' pointer is good but arrives after dense prose, so it is efficient rather than optimally skimmable.

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 14-parameter, nested-object tool with an output schema, the description covers the hard parts: pool initialization, tick scaling, swap-before-mint ordering, and single-sided sizing from measured balances. Gaps remain around mode selection and the pool_id/pool_key and token_id conditions, which are only partially handled by the schema.

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

Parameters3/5

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

Schema coverage is 79%, so the baseline is 3. The description adds genuine meaning for the otherwise undocumented tick_lower/tick_upper by giving the base-1.000001 conversion and warning that a 1.0001 calculation is 100x too small, and it ties the token ratio to the range and current price. It says nothing about mode, token_id, pool_initialized, initial_tick or slippage_bps beyond what the schema already states.

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

Purpose4/5

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

The description states a specific verb and resource: preparing a v3 position mint or add_liquidity, including optional pool initialization, approvals, refunds and cleanup. It is clear what the tool produces. It does not explicitly differentiate itself from sibling preparers such as prepare_uniswap_v3_add_liquidity or prepare_pool_initialization, leaving the agent to infer that this is the Ekubo-specific variant from the ekubo docs reference.

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?

Strong procedural guidance: do every swap first, re-read the tick with the pool's current_state_query, then mint once; execute a missing-side swap separately and size the deposit from the measured balance after receipt, never a quoted output. What is missing is selection guidance between mode=mint_new and add_liquidity, and when to pick this tool over the Uniswap add-liquidity siblings.

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.