Skip to main content
Glama

Deposit-ready lending markets

list_lending_vaults
Read-only

Retrieve Base lending vaults and markets with deposit contract addresses, asset decimals, protocol-read rates, and Morpho risk data so agents can choose where to deposit.

Instructions

The Base lending shelf an agent can actually act on: Morpho ERC-4626 vaults, Aave V3 reserves and Moonwell markets, each with the contract address to deposit into (depositTo) and the asset's address and decimals. Morpho entries also carry a risk block: curator fee, vault age, allocation concentration, and how much of the APY comes from incentives rather than borrower interest. Aave and Moonwell rates are read from their own contracts, so markets missing from aggregator snapshots appear here.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare read-only, non-destructive, open-world behavior. The description adds meaningful context beyond that: it discloses the underlying protocols, that rates are read directly from contracts, that some markets may be missing from aggregators, and that Morpho entries include a risk block with specific risk dimensions.

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 three dense sentences with no wasted text. It front-loads the tool's purpose and then details the returned data, though the opening phrase is slightly abstract compared with the concrete protocol and field details that follow.

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?

There is no output schema and no input schema, so the description must explain what the tool returns. It does so thoroughly: protocol coverage, deposit address, asset address and decimals, Morpho risk fields, and the source of Aave/Moonwell rates. This is sufficient for an agent to call the tool correctly.

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?

The tool has zero input parameters, so parameter semantics carry little burden. The description appropriately focuses on returned fields rather than inputs, and the baseline for a zero-parameter tool is 4.

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 clearly identifies the resource: Base lending markets across Morpho, Aave V3, and Moonwell, each with a deposit contract address and asset metadata. It distinguishes the tool as returning deposit-ready markets rather than generic yield data, though it does not explicitly name sibling tools or contrast itself with them.

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?

Usage is implied by phrases like 'deposit-ready' and 'an agent can actually act on', and by the `depositTo` field, suggesting this is for finding where to deposit. However, it does not explicitly state when to use this versus `list_base_yields`, `best_yield`, or `market_profile`.

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