Skip to main content
Glama

Search yield pools

search_pools
Read-onlyIdempotent

Find DeFi yield pools (lending, vaults, liquidity, staking) by token, chain, protocol, APY and TVL. Returns a ranked table with pool ids. Rates are fractions (0.05 = 5%). Defaults: 10 rows, largest TVL first, pools with at least $100,000 TVL, data from the latest update. Stablecoin filters check token labels, not peg safety. Page with the returned cursor.

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return, 1-50 (default 10).
queryNoFilters. Omit for the whole catalogue (still limited to pools with TVL of at least $100K).
cursorNonextCursor from the previous page. Repeat the same query and limit exactly.

Output Schema

NameRequiredDescriptionDefault
asOfYes
rowsYes
limitYes
notesYes
versionYes
nextCursorYes
collectedAtYes
limitationsYes
totalMatchesYes
catalogueRevisionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / query / properties / freshness / description
      Previous value: -"Data age rule. \"retrieved\" (default): retrieved within maxAgeMinutes. \"observed\": the source must state when it measured the rate. \"any\": include old quotes."New value: +"Data age rule. \"retrieved\" (default): retrieved in the latest update (or within maxAgeMinutes). \"observed\": the source must state when it measured the rate. \"any\": include old quotes."
    • changedInput schema / properties / query / properties / maxAgeMinutes / description
      Previous value: -"Maximum data age in minutes for the freshness rule (default 60). It can only shorten the window: each rate also expires after its own time-to-live (usually 60 minutes). To include older quotes use freshness \"any\"."New value: +"Maximum data age in minutes for the freshness rule. Default: the latest update, so data counts until the next scheduled update is overdue (the result notes give the current limit; 60 is read as this default). A number can only shorten that window. To include older quotes use freshness \"any\"."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the description does not need to repeat those. It adds useful behavioral context beyond annotations: ranked output with pool ids, APY values expressed as fractions, default sorting by TVL, a $100,000 TVL floor, latest-update freshness, cursor-based pagination, and the important caveat that stablecoin filters check labels rather than peg safety.

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

Conciseness5/5

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

The purpose is front-loaded in the first sentence, followed by output behavior, rate units, defaults, a caveat, and pagination guidance. The description is compact and every sentence adds relevant information without filler.

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 the complexity of the nested query object and the presence of a full output schema, the description supplies the key context an agent needs: what the tool searches, what it returns, rate units, default filtering and sorting, freshness behavior, the stablecoin caveat, and cursor paging. Further parameter detail is already covered by the 100%-described schema, so no critical gap remains.

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 description coverage is 100%, so the input schema already documents every parameter in detail. The description reinforces a few semantics, such as fractional APY values and key defaults, but it mostly repeats information already present in the schema. That makes 3 the appropriate baseline when the schema carries the parameter documentation.

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: 'Find DeFi yield pools' with explicit pool types and filters. It also says the tool returns a ranked table with pool ids, which clearly separates it from detail-oriented siblings like get_pool. However, it does not explicitly name or contrast with siblings such as compare_pools or summarize_yields, so it stops short of full sibling differentiation.

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 implies usage by listing supported filters and by noting that omitting filters searches the whole catalogue. It also says to page with the returned cursor. It does not explicitly say when to use this tool versus alternatives like compare_pools, summarize_yields, or get_pool, leaving the agent to infer the routing.

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