Skip to main content
Glama

Ekubo Protocol

Prepare Uniswap V4 liquidity deposit

prepare_uniswap_v4_add_liquidity
Read-only

Mint or increase an exact liquidity amount using raw uint128 token maxima. Zero token0 means native ETH. Uses exact ERC20 and Permit2 approvals with cleanup, settles both signs of accrued-fee deltas on increase, and refunds native surplus. Verify NFT pool key/range and hook behavior; hook_data is forwarded unchanged. Optional pool initialization.

Input Schema

NameRequiredDescriptionDefault
feeYes
hooksNoaddress
senderYesaddress
token0Yesaddress
token1Yesaddress
pool_idYesbytes32 hex
chain_idYes
deadlineYesdecimal integer
token_idNodecimal integer
hook_dataNohex bytes0x
liquidityYesdecimal integer
tick_lowerYes
tick_upperYes
amount0_maxYesdecimal integer
amount1_maxYesdecimal integer
tick_spacingYes
initialize_sqrt_price_x96Nodecimal integer

Output Schema

NameRequiredDescriptionDefault
execution_plan_referenceNoartifact_reference; pass unchanged

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Beyond the single readOnlyHint annotation, the description discloses a lot of real behavior: exact ERC20 plus Permit2 approvals with cleanup, settlement of both signs of accrued-fee deltas on increase, native surplus refunds, and that hook_data is forwarded unchanged to the hook. The one gap is that it never states the output is an unsigned transaction plan, so 'mint' and 'refunds' read as if execution happens, which sits awkwardly beside readOnlyHint=true without strictly contradicting it given the 'prepare_' prefix.

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 most consequential constraint (exact liquidity with raw maxima, ETH sentinel) is front-loaded, and each sentence carries distinct information with no filler. The telegraphic phrasing ('settles both signs of accrued-fee deltas on increase') is dense enough to cost some readability, but the length is proportionate to a 17-parameter tool.

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

Completeness3/5

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

With an output schema present, the description need not explain return values, and the hook/approval/fee-delta disclosures cover the most error-prone aspects. Still, for a 13-required-parameter transaction-prep tool it omits deadline semantics, sender expectations, and how liquidity maps to the max amounts, so an agent still has to infer several call details.

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 a moderate 71%, and the description adds genuine meaning for a few fields: zero token0 means native ETH, hook_data is passed through verbatim, initialize_sqrt_price_x96 is optional pool initialization, and token_id/ticks relate to verifying an existing NFT position. It says nothing about deadline, sender, or the relationship between the exact liquidity figure and amount0_max/amount1_max, leaving several of the 17 parameters to the schema alone.

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 opens with a concrete verb+resource pair ('Mint or increase an exact liquidity amount') and immediately scopes it to raw uint128 maxima, which pins down the semantics of the liquidity/amount parameters. V4-specific traits (hooks, Permit2, native ETH sentinel) implicitly separate it from prepare_uniswap_v3_add_liquidity, but no sibling is named explicitly.

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?

It gives useful preconditions ('Verify NFT pool key/range and hook behavior') and notes that pool initialization is optional, which nudges the agent toward initialize_sqrt_price_x96 in the right circumstances. However, there is no explicit when-to-use guidance versus prepare_uniswap_v3_add_liquidity, prepare_lp_position_deposit, or quote_uniswap_liquidity, and no statement that this only prepares a transaction rather than executing it.

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.