Skip to main content
Glama
aiexp1

Tanod MCP server

chainpeek: current lending supply and borrow APY on Aave V3, Compound V3 and Morpho, with a best stablecoin rate view

get_lending_yields
Read-onlyIdempotent

Compare current lending supply and borrow APY on Aave V3, Compound V3, and Morpho by chain and asset, or rank USDC, USDT, DAI, USDS, and USDe by supply rate.

Instructions

chainpeek: Use when an agent must choose where to lend or borrow: supply and borrow APY on Aave, Compound and Morpho. For protocol TVL use get_protocol_tvl; for perp funding use get_funding_rates. Returns current lending supply and borrow APY on Aave V3, Compound V3 and Morpho by chain and asset, or the best stablecoin supply rate (USDC, USDT, DAI, USDS, USDe) across them. Snapshot refreshed about every 5 minutes (as_of, stale); Aave, Compound and Morpho on Ethereum, Base, Arbitrum, Optimism and Polygon; APY excludes rewards. Informational only, not investment advice. Bad input is a 422 (not charged). Typically under 1 s. Price: USD 0.001. Free: 10 chain reads per IP per UTC day. Docs: https://tanod.dev/learn/defi-lending-rates-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoall: every matching rate, highest supply APY first. best_stablecoin: USDC, USDT, DAI, USDS and USDe ranked by supply APY across the three protocols (canonical token addresses only).all
limitNoRows returned, 1-200 (default 50).
assetsNoOptional asset symbols such as USDC or WETH (case-insensitive, at most 20). In best_stablecoin only USDC, USDT, DAI, USDS and USDe are ranked.
chainsNoOptional subset of ethereum, base, arbitrum, polygon, optimism. Default: all. Aave V3, Compound V3 and Morpho cover all five.
protocolsNoOptional subset of aave_v3, compound_v3, morpho. Default: all.
min_tvl_usdNoOnly rows with at least this many USD supplied (rows with an unknown USD size are dropped when it is above 0). Default 0; best_stablecoin defaults to 1,000,000.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
rowsNo
viewNo
age_sNo
as_ofNo
countNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
staleNo
sourcesNo
coverageNo
apy_basisNo
max_age_sNo
sorted_byNo
min_tvl_usdNo
stablecoinsNo
best_by_assetNo
total_matchingNo
refresh_interval_sNo
sources_unavailableNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing snapshot freshness ('refreshed about every 5 minutes' with as_of/stale fields), protocol/chain coverage, that APY excludes rewards, error semantics (422 on bad input, not charged), latency (<1s), price, and free-tier limits. These are exactly the behavioral traits an agent needs for planning and budgeting.

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-loads usage, then return shape, then operational constraints in a logical order. It is dense but nearly every sentence is actionable; only the pricing/free-tier/docs boilerplate edges toward padding, and the title duplicated in the opening 'chainpeek:' prefix is slight redundancy.

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?

With an output schema present, return values need not be re-explained, and annotations already cover the safety profile. The description fills the remaining gaps an agent needs: when to use it, coverage, data freshness, reward exclusion, error behavior, and cost, making it complete for a zero-required-param query tool.

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 schema already documents all six parameters (view, limit, assets, chains, protocols, min_tvl_usd) including enums and defaults. The description echoes the best_stablecoin view and the stablecoin set but adds no syntax, format, or interaction detail beyond what is already structured. Baseline 3 applies when the schema carries the load.

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+resource (current lending supply and borrow APY) with named protocols (Aave V3, Compound V3, Morpho) and explicitly distinguishes itself from siblings by naming get_protocol_tvl and get_funding_rates as the tools for adjacent data. An agent can separate this from every other yield/DeFi tool in the sibling list without opening a schema.

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

Usage Guidelines5/5

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

Front-loads the trigger condition ('Use when an agent must choose where to lend or borrow') and then explicitly routes two adjacent needs elsewhere ('For protocol TVL use get_protocol_tvl; for perp funding use get_funding_rates'). Both when-to-use and when-not-to-use are stated, leaving nothing to inference.

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

Deploy Server

Other Tools