Skip to main content
Glama

Agent Data Tools: Prices and DeFi

Crypto price and token price: USD price of a token from Uniswap v3 pools

price_token
Read-only

Token price in USD for a crypto token by symbol (ETH, BTC, USDC, AERO, ARB, OP, LINK…), coin name, CoinGecko id or ERC-20 0x address on Base, Ethereum, Arbitrum or Optimism, from the deepest Uniswap v3 pool against USDC or WETH, read live. Returns the pool, fee tier, quote reserve and a thin-liquidity flag. Spot price, not a time average. No pool returns 404, uncharged. Use to value a token or check a quote before a swap or payment. Example: symbol=ETH. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

Input Schema

NameRequiredDescriptionDefault
chainNoNetwork: base (default), eth, arb or op
symbolNoTicker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)
addressNo0x ERC-20 token contract address (instead of symbol)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / address / description
      Previous value: -"0x ERC-20 token contract address"New value: +"0x ERC-20 token contract address (instead of symbol)"
    • addedInput schema / properties / symbol
      Added value: +{
      +  "description": "Ticker such as ETH, BTC, USDC, AERO, ARB, OP or LINK (instead of address; ETH and BTC mean the wrapped tokens)",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "address"
      -]
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover read-only/open-world/non-idempotent safety flags; the description adds real operational context: billing per call ($0.002 via x402 or card key, first 25 free, failed calls free), that 404 on no pool is uncharged, that repeats are not free, and the returned fields (pool, fee tier, quote reserve, thin-liquidity flag). It also explains the non-idempotent hint in billing terms rather than contradicting it.

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?

One dense paragraph that front-loads purpose, then identifiers, chains, method, return shape, errors, usage, and pricing in a sensible order. Slight redundancy between 'Price $0.002/call ... first 25 free; failed calls free' and the closing 'each call is charged, so repeats are not free' costs a point.

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 required parameters, the description must carry the burden of what comes back and what can go wrong — and it does, naming the returned pool/fee tier/reserve/liquidity flag and the 404-on-no-pool behavior. It is complete enough for an agent to call this correctly 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?

Schema coverage is 100%, so baseline is 3, but the description adds accepted identifier forms beyond the raw schema — coin name and CoinGecko id in addition to ticker and 0x address — plus a concrete invocation example (symbol=ETH). Minor ambiguity: the schema exposes only 'symbol' and 'address', so an agent must infer that coin names and CoinGecko ids go into 'symbol'.

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 ('Token price in USD for a crypto token') plus the exact mechanism and scope: deepest Uniswap v3 pool against USDC or WETH, live read, on Base/Ethereum/Arbitrum/Optimism. That mechanism detail is what separates it from generic siblings like crypto_price, btc_price, price_tokens, or uniswap_pool without opening their schemas.

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?

'Use to value a token or check a quote before a swap or payment' gives a clear usage context, and 'Spot price, not a time average' rules out a common misuse case. It does not explicitly name a sibling alternative (e.g. when to prefer crypto_price or price_tokens for a batch), so it stops short of full routing guidance.

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.