Skip to main content
Glama

Stocks On Chain

Look up a contract address

get_contract

What this site holds about one address, in two independent halves. listings says what the token IS - the stock, its company, the issuer and the chain - and is present whenever the address is a listing we track. matches says what the CODE at the address is: its runtime bytecode hash, the implementation behind it if it is a proxy, and how many other addresses we track run byte-identical code; it is present only where we have read the code. The code half is reproducible: fetch eth_getCode and take its keccak256 and you get the same hash. Either half can be empty and both can be present; an address we hold nothing about returns found: false, which is an answer rather than an error. This never says an address is safe, genuine or correct, and there is no field that could: check it against the issuer before you act on it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoChain slug, for example ethereum or robinhood-chain. Optional. Omit it to find the address on every chain we hold it.
addressYesThe contract address, in any case.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior5/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 so richly: it discloses that the two halves are independent, that either or both may be empty, that a miss returns found:false rather than throwing, and that the code half is reproducible via eth_getCode + keccak256. The explicit safety disclaimer ('never says an address is safe, genuine or correct') is exactly the kind of trust-boundary context an agent needs before acting.

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?

The passage is dense and front-loaded, leading with what the tool holds before elaborating on each half. It is somewhat long and prose-heavy, but each sentence (reproducibility, found:false semantics, safety caveat) contributes distinct information rather than restating the name.

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 must describe return values itself, and it does so thoroughly: it names both fields, explains when each is populated, and covers the empty and not-found cases. Combined with the safety framing, an agent has everything needed to call and interpret the result correctly.

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 coverage is 100%, and both parameters (chain, address) are documented in the schema itself, including that chain is optional and address is case-insensitive. The description adds no parameter-level detail beyond what the schema already states, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (look up) and resource (a contract address) and precisely enumerates the two returned halves, 'listings' and 'matches', so an agent knows exactly what domain the tool covers. It does not explicitly differentiate itself from siblings like get_stock or get_manifest, leaving the agent to infer the boundary from the resource name.

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?

Useful procedural guidance is present ('check it against the issuer before you act on it') and it clarifies that empty halves are normal and that found:false is an answer rather than an error. However, there is no explicit statement of when to reach for this tool versus get_stock or get_manifest, so usage context is only implied.

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