Skip to main content
Glama

LP Pool Check

Check one liquidity pool

check_pool
Read-onlyIdempotent

Use this when the user asks about one liquidity pool, such as "volume and fee APR for WETH and USDC on Ethereum" or "is this pool APR a spike?". Pass a pool id, or chain plus token_a and token_b (symbols or token addresses). Optionally pass a price range, holding_days, and gas or exit amounts for the fee-versus-IL estimate. Returns 1-day and 7-day volume and fee APR, TVL, an APR flag with a reason, price trend, token risk flags when a public source covers them, and an informational position-type label. A pool contract address is not in the index: the answer says needs_tokens and what to pass instead. Not financial advice, and it does not recommend entering or leaving a position.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoChain name or short alias, such as ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, or solana
gas_usdNoGas you expect to pay to enter and exit, in the same currency as capital_usd
pool_idNoDefiLlama pool id (a UUID), from find_active_pools or a previous answer
token_aNoToken symbol or contract address
token_bNoThe other token's symbol or contract address
price_nowNoCurrent price in the same units as the range
capital_usdNoPosition size, so gas and exit cost can be compared with fees. Not stored as a record of who asked
price_lowerNoLower price of the range, in quote per base
price_upperNoUpper price of the range, in quote per base
holding_daysNoHolding window for the fee-versus-IL estimate. Requires price_lower, price_upper, and price_now
pool_addressNoPool contract address. The open yields index does not list pool contract addresses; pass token addresses or a pool id instead if this cannot be matched
exit_cost_usdNoOther exit cost, such as a withdrawal fee, in the same currency as capital_usd

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
poolNo
as_ofYes
noticeYes
statusYes
messageNo
sourcesYes
apr_flagYes
estimateNo
depth_noteNo
token_riskNo
other_tiersNo
price_trendNo
active_rangeNo
position_typeNo
apr_flag_reasonNo
position_type_reasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, so the bar is lower. The description still adds real value: it enumerates the returned analytics, discloses a graceful failure mode (a pool contract address yields needs_tokens plus the correction), notes risk flags only appear when a public source covers them, and includes a not-financial-advice boundary.

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 usage trigger, then input modes, then outputs, then caveats — a logical order. It is on the longer side, but nearly every clause carries distinct information (augmented by output schema, so the output enumeration is somewhat redundant).

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

Completeness5/5

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

Given 12 all-optional parameters, an output schema, and rich annotations, the description covers input routing, conditional parameter groupings, output contents, the index-miss edge case, and the advice boundary. Nothing essential to correct invocation is missing.

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 earns extra credit by explaining the two alternative identification modes (pool_id vs chain+token_a/token_b) and grouping the optional range/holding/gas/exit inputs under the fee-versus-IL estimate.

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 (check one liquidity pool) with concrete query examples and the accepted input forms. It clearly contrasts with the plural sibling find_active_pools by scoping to a single pool.

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?

Explicitly says when to use it ("when the user asks about one liquidity pool") and gives two example intents, plus how to trigger the optional fee-vs-IL path. It does not, however, state when to prefer sibling estimate_lp or find_active_pools, which overlaps with its optional estimate fields.

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