Skip to main content
Glama

Crypto Bot Audit + Market Data (x402 paid)

ERC-1155 metadata pointer for an id

chain_1155_uri
Read-onlyIdempotent

uri(id) decoded from the ABI string, with the {id} substitution left visible instead of followed — the metadata URL a wallet will fetch, returned as text and never requested by us. Costs $0.001 USDC per call. Chains: base, ethereum, arbitrum, bsc, polygon, optimism, avalanche. Byte-identical to GET /chain/1155-uri?chain=base&token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&tokenId=1.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainYeschain key: base, ethereum, arbitrum, bsc, polygon, optimism, avalanche [required]
tokenYestoken / NFT contract address [required]
tokenIdYestoken id (decimal) [required]

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tsNo
rawNo
uriNo
noteNo
chainNo
staleNo
tokenNo
caveatNo
reasonNo
sourceNo
chainIdNo
tokenIdNo
readableNo
templateNo
chainLabelNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "caveat": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chain": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chainId": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "chainLabel": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "raw": {
      +      "type": "string"
      +    },
      +    "readable": {
      +      "type": "boolean"
      +    },
      +    "reason": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "template": {
      +      "type": "boolean"
      +    },
      +    "token": {
      +      "type": "string"
      +    },
      +    "tokenId": {
      +      "type": "string"
      +    },
      +    "ts": {
      +      "type": "string"
      +    },
      +    "uri": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent hints, the description discloses valuable behavioral details: the `{id}` substitution is left visible, the URI is returned as text, the tool never fetches the URL itself, there is a $0.001 USDC cost, supported chains are listed, and results are byte-identical to a specific REST endpoint. This significantly exceeds the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the most important semantic detail, then adds cost, chains, and an exact REST-equivalent reference. Every sentence contributes actionable information without filler.

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 a simple read-only ERC-1155 URI lookup, the description covers the output form, behavioral guarantee of not fetching, cost, supported chains, and REST equivalency. The output schema exists, and annotations cover safety/idempotency, so nothing critical is 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?

The schema already covers all three parameters with clear descriptions at 100% coverage, so the baseline applies. The description adds a concrete endpoint example and reiterates chain keys, but it does not substantially deepen parameter meaning beyond what the schema and example already convey.

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?

The description clearly identifies the tool's action: decoding `uri(id)` from the ERC-1155 ABI and returning the metadata URL a wallet would fetch. It is specific about the resource and output format, and the title plus supported-chain list distinguish it from ERC-721-oriented sibling tools like `chain_nft_token_uri`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies when to use this tool—when you need the metadata URL for a token ID without fetching it—and clarifies that the tool never requests the URL. However, it does not explicitly direct users to alternative sibling tools (e.g., `chain_nft_token_uri` for ERC-721) or state when not to use it, leaving some routing to inference.

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