Skip to main content
Glama

search_tokens

Finds tokens on one chain by symbol, name or address, and gives the address get_quote and get_price need. Use it whenever you have a ticker or a name instead of an address. Read-only. Matching is case-insensitive on any part of the symbol, name or address; with no search it lists the chain's tokens. Results are ranked: the chain's curated tokens first, then other indexed tokens by how many pools hold them. A symbol is not unique, so when several match, prefer the verified one or the one with the most depth. Each result has address (the zero address for the native coin), symbol, name, decimals, verified, poolCount and depthUsd; hasMore says more matched than limit returned. A token refused for a transfer tax is left out unless its exact address is searched, which returns it with transferTaxBps.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return. Default 10, at most 50.
searchNoAny part of a symbol, name or address, case-insensitive, e.g. "usdc" or "0x833589". Leave it out to list the chain's tokens.
chainIdYes1 Ethereum, 8453 Base, 42161 Arbitrum One, 10 OP Mainnet, 4663 Robinhood Chain, 56 BNB Chain, 137 Polygon, 43114 Avalanche, 130 Unichain, 143 Monad, 5042 Arc, 999 HyperEVM

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"Max results to return. Default 10."New value: +"Max results to return. Default 10, at most 50."
    • changedInput schema / properties / search / description
      Previous value: -"Symbol, name or address fragment."New value: +"Any part of a symbol, name or address, case-insensitive, e.g. \"usdc\" or \"0x833589\". Leave it out to list the chain's tokens."
  2. Changed1 schema field changed
    • addedInput schema / properties / chainId / description
      Added value: +"1 Ethereum, 8453 Base, 42161 Arbitrum One, 10 OP Mainnet, 4663 Robinhood Chain, 56 BNB Chain, 137 Polygon, 43114 Avalanche, 130 Unichain, 143 Monad, 5042 Arc, 999 HyperEVM"
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden and does so: read-only status, case-insensitive substring matching, empty-search fallback, ranking order (curated first, then pool count), symbol non-uniqueness, and the transfer-tax exclusion rule with its exact-address exception. These are non-obvious behaviors an agent could not infer from the schema.

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 purpose and the routing hint, then behavior. It is a single dense block, and the ranking/edge-case sentences are long but each carries distinct information; a short bulleted break would read better, but there is little dead weight.

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 no output schema and no annotations, the description compensates fully by enumerating the returned fields (address, symbol, name, decimals, verified, poolCount, depthUsd), the hasMore pagination signal, and the native-coin zero-address convention. An agent has everything needed to call and interpret it.

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 still adds value beyond it by explaining what an omitted search does and how limit interacts with the hasMore flag, plus the ranking that determines which results arrive first. It stops short of adding format details the schema lacks, but nothing material is missing.

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 (finds tokens on one chain) plus the search keys (symbol, name, address), and explicitly distinguishes itself from siblings by naming get_quote and get_price as the consumers of its output. An agent can tell it apart from get_price/get_quote without opening any 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?

"Use it whenever you have a ticker or a name instead of an address" is an explicit selection condition that implicitly excludes the address-based siblings. It also resolves the ambiguous case with guidance: prefer the verified token or the one with most depth when a symbol matches several entries.

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