Skip to main content
Glama

search_assets

Catalog lookup (GET /v1/assets); use it to turn tickers or names into uids. Filters: q (free text), symbol, symbols (several tickers in one call), candidate (the uid of a candidates entry; registers that coin on demand; use alone), chain+contract (an unknown Solana mint can be registered on demand; mints are case-sensitive). Size: about 0.4 KB per asset (both copies of the result). Without any filter the default limit is 50 (the whole catalog is hundreds of assets); page with limit (1..1000) and after (next_after of the previous page). An explicit limit of 0 is an error. For a q lookup with few catalog hits, candidates lists at most 5 unregistered coins (not yet priced); pass a candidate's uid as candidate to register it and make it priceable. Dynamic coins expire after 7 days without use and may get a new uid after expiry or a server reset, so do not store a dynamic uid as identity; asset.icon is a placeholder image for an asset with no image source. Edge cases: read resource ratehub://docs/behavior (behaviour notes).

Input Schema

NameRequiredDescriptionDefault
qNoFree-text search over symbol and name
afterNoUid cursor for pagination (next_after from the previous page)
chainNoChain name with contract
limitNoPage size 1..1000. Default 50 when no filter is given, otherwise no limit
symbolNoExact symbol (non-unique, all matches returned)
symbolsNoSeveral exact symbols in one call, e.g. [btc, eth, sol]; all matches for each are returned
contractNoToken contract address
candidateNoThe uid of a candidates entry from an earlier search; registers that coin on demand and returns its asset. Use alone

Output Schema

NameRequiredDescriptionDefault
buildYes
totalNo
assetsYes
candidatesNo
next_afterNo
candidates_statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: payload size (~0.4 KB/asset), default pagination limit and page-size bounds, that limit=0 is an error, that candidates lists at most 5 unregistered coins, that dynamic coins expire after 7 days and may change uid, and that asset.icon is a placeholder. It even routes to a behavior-notes resource for edge cases.

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 purpose and then packs filters, sizing, pagination, and edge cases into dense but non-redundant sentences. It is long and somewhat wall-of-text, but nearly every clause conveys actionable detail.

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?

For an 8-parameter, unannotated tool with an output schema (so return values need not be explained), the description covers usage, sizing, pagination, on-demand registration, and expiry behavior. Nothing essential to correct invocation appears 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, but the description adds real meaning beyond it: on-demand registration semantics for chain+contract, case-sensitivity of Solana mints, 'use alone' for candidate, and the pagination relationship between after and next_after. It enriches rather than merely restates the schema.

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 ('Catalog lookup') and the concrete outcome ('turn tickers or names into uids'). This clearly separates it from the get_* siblings, which retrieve other data types. An agent can identify the tool's job without opening the schema.

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?

Explains the core use case (tickers/names -> uids) and gives per-filter selection guidance ('use alone' for candidate, 'chain+contract' for registering unknown mints). It does not explicitly name sibling tools or state when not to use it, so it stops short of a 5.

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