Skip to main content
Glama

Cleave for Agents: token swaps, cross-chain swaps and gas top-ups

Find a token's contract address

cleave_find_token
Read-onlyIdempotent

Finds a token by symbol or contract address on Ethereum, Arbitrum, Base, BNB Chain, Polygon or Optimism and returns its address, decimals and whether it is on Cleave's token list, with a flag when it resembles a listed token. A symbol shared by several listed tokens returns every candidate by address instead of picking one. An unlisted token is found only by its address and comes back flagged, without a name or symbol. It fits before cleave_plan_swap when the user names a token by symbol and the address is unknown.

Input Schema

NameRequiredDescriptionDefault
queryYesA symbol or a contract address
chainIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, and the description still adds real behavioral detail: ambiguous symbols return every candidate by address rather than guessing, and unlisted tokens come back flagged with no name or symbol. It does not discuss pagination or result size, but for a two-parameter lookup the disclosed behavior is solid.

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?

Every sentence carries information — scope, return fields, ambiguity handling, unlisted-token behavior, and sibling placement — with no filler. The first sentence is long and packs the chain list and return shape together, which slightly hurts scannability but not correctness.

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, so the description takes on the burden and does: it names the returned fields and the edge-case shapes for ambiguous symbols and unlisted tokens. Combined with the read-only annotations, an agent has everything needed to call it and interpret the result.

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?

Only 50% schema coverage, but the description compensates: it spells out that `query` accepts either a symbol or a contract address, and its prose chain list (Ethereum, Arbitrum, Base, BNB Chain, Polygon, Optimism) supplies the meaning for the undescribed `chainId` enum. It also clarifies resolution behavior per input type, which the schema does not.

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 (finds) and resource (token by symbol or contract address), enumerates the supported chains, and lists exactly what is returned (address, decimals, list status, similarity flag). An agent can distinguish this from the planning/tracking siblings 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 Guidelines4/5

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

Gives an explicit trigger: use it before cleave_plan_swap when the user names a token by symbol and the address is unknown, which directly routes the agent relative to a sibling. It stops short of stating when not to use it (e.g. when the address is already known, where plan_swap could be called directly).

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