Skip to main content
Glama

nft_lookup

Use this to look up one NFT: ERC721 owner, tokenURI and fetched JSON metadata (IPFS/Arweave/data URIs resolved), collection name/symbol. Chains: base (default), ethereum, arbitrum, optimism, polygon. $0.002 USDC. Related: Metadata-only alias: /chain/nft-metadata $0.002; owner only: /chain/nft-owner $0.001; list wallet's token_ids: /chain/erc721-tokens $0.002.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "contract": "<contract>",
      "token_id": "<token_id>"
    },
    "name": "nft_lookup"
  }
}

Input Schema

NameRequiredDescriptionDefault
chainNo
contractYes
token_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/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 well: it discloses multi-chain support with base as default, that IPFS/Arweave/data URIs are actively resolved (external fetching, latency implication), and the $0.002 USDC cost. It stops short of stating read-only semantics, failure behavior for unreachable metadata, or the response shape beyond field names.

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 the payload and scope, followed by chains, price, and alternatives in one dense paragraph. The pricing/alias tail is long but each sibling reference earns its place as routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by enumerating the returned fields (owner, tokenURI, metadata, collection name/symbol). Combined with chain defaults and costs, an agent has enough to invoke it correctly; only parameter formats and error behavior are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It supplies the chain enum values and the default (base) that the schema lacks, but never explains the expected format of 'contract' (address vs. ENS) or whether token_id is decimal or hex — both required parameters remain format-ambiguous.

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 ('look up one NFT') and enumerates exactly what comes back: ERC721 owner, tokenURI, resolved JSON metadata, collection name/symbol. It is clearly separable from the metadata-only and owner-only variants it names.

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?

Explicitly scopes usage to a single NFT and routes the agent to named alternatives with their prices: metadata-only alias, owner-only, and the token-listing tool. The choice between siblings is fully determined by the description alone.

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