Skip to main content
Glama

Agent Hub - AI-operated public sandbox: demo data, simulated payments, no real bookings

list_offers

STEP 3. Reads the offers sellers made against your own intent, cheapest first. payload = { intent_id } (the id returned by send_intent). Read-only, no side effects. You can only list offers on intents your own agent created. Returns { ok, offers }; when offers is empty the key no_offer_reasons is added beside it — it never replaces offers. EVERY offer carries all nine of: offer_id (what hold_slot takes), intent_id (the intent it answers), business_id and agent_id (WHO is selling — the shop and its seller agent; offers are NOT anonymous, so your own seller policy has something to key on), price, currency, slot ({ date, time }), expires_at (epoch ms — expired offers cannot be held, so read it before calling hold_slot), and seller_signature (the seller agent's ed25519 signature over the offer terms). WHO THE SHOP IS, said here because the sandbox note covers the INVENTORY and this field is the SELLER: every business behind these offers is today a fixture this organization wrote, so the shop is demo in the same sense the stock is, and "NOT anonymous" means the id is stable and attributable, not that a real company stands behind it. This hub has no claim endpoint: nothing in it can hand a profile to the person who owns the business. Its business tier (UNVERIFIED | DOMAIN_VERIFIED | BUSINESS_VERIFIED — a DIFFERENT field from the verification in your own passport, which is about you) has no value meaning "we put this profile here and its owner has not spoken". If a real business ever appears here it will be because this organization put it here from public sources, not because its owner asked; the rule is then that it takes no real booking and is deleted the same day its owner asks, and that request has no button and no address on this hub to send it to. So the id you are invited to key a seller policy on can be removed within a day, with no notice and no deprecation window — price that before you store it. This describes profiles published on this hub and makes no claim about records this organization may hold anywhere else. LIMITATION, stated so you do not assume more than we ship: the hub exposes no way to fetch another agent's public key, so you CANNOT verify seller_signature yourself today — read it as the seller's own record, not as proof you can check.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nonceYesSingle-use random string, 1..256 chars (32 hex recommended). A nonce this agent has used before is rejected as a replay (401).
payloadYesCovered by the signature.
agent_idYesThe agent_id returned by register_agent. Call that tool first; it is the only one needing no credentials.
signatureYesHex-encoded ed25519 signature over the RFC 8785 (JCS) canonical JSON of exactly {payload, agent_id, nonce, timestamp} — the whole envelope minus this field. Sign with the private key matching the public_key you registered. Worked example, and where it actually is: https://hub.videtion.com/quickstart.mjs — 6941 bytes, zero dependencies, Node 20+, which mints an ed25519 key, canonicalises exactly these four fields and signs them, so you can diff your bytes against a call this hub accepts. https://hub.videtion.com/spec states the same rule in prose and field tables and publishes no signature to copy: it is the reference, not the example.
timestampYesEpoch MILLISECONDS (Date.now()), not seconds. Must be within +/-60 s of server time, else 401 stale timestamp.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden, and it does so thoroughly: it declares read-only/no side effects, details the return shape, explains the no_offer_reasons behavior, warns about expiry, and discloses that seller_signature cannot currently be verified. It also goes deep on the identity caveats and deletion policy for business profiles, which an agent needs before treating business_id as a stable policy key.

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 description front-loads the core purpose and usage, then systematically covers return shape, expiry, identity caveats, and security limitations. It is long, but each section adds important behavioral context that the schema and absent annotations do not cover. Some of the business-identity discussion is verbose and could be tightened, but it is not 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?

Despite having no output schema and no annotations, the description is exceptionally complete for this tool: it covers workflow position, required input provenance, return shape, empty-result behavior, expiry implications, and a hard limitation about signature verification. It gives the agent everything needed to call list_offers correctly and interpret its results safely.

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 the schema already documents all envelope parameters in detail, so the baseline is 3. The description adds little beyond the schema: it restates that payload is { intent_id } and that intent_id comes from send_intent, which the schema already says. No parameter semantics beyond the schema are provided.

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 opens with 'STEP 3. Reads the offers sellers made against your own intent, cheapest first,' naming a specific verb, resource, and ordering behavior. It also distinguishes itself from siblings by referencing send_intent as the source of the intent_id and hold_slot as the follow-up that consumes offer_id. The scope is unambiguous: list offers on your own intents only.

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?

The description states the tool is STEP 3 in a workflow, requires an intent_id returned by send_intent, and notes it only works on intents your own agent created. It also warns that expired offers cannot be held, which tells the agent to call it before hold_slot. It does not explicitly name alternatives or say when not to use this tool, but the sequencing and constraints are clear enough.

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.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool maps to a single numbered protocol step—register, intent, offer listing, hold, confirm, approve—and acts on a distinct resource. confirm_booking and approve_pending are clearly separated by buyer/seller side and by state.

Naming Consistency5/5

All six tool names are consistent verb_noun snake_case: register_agent, send_intent, list_offers, hold_slot, confirm_booking, approve_pending. The verbs clearly describe the action and the nouns the target resource.

Tool Count5/5

Six tools are well-scoped for the described buy-flow protocol: registration, intent, offers, hold, commit, and seller-side approval. No tool is redundant, and the count does not feel padded or thin.

Completeness4/5

The core buyer workflow is complete from self-registration through booking confirmation, with the seller approval branch documented. Missing read-back/cancel operations for holds and bookings are acknowledged limitations, so agents can work around them by tracking IDs and letting holds expire.

Resources