Skip to main content
Glama

haggl.ai

haggl_get_bids

Have the merchants on haggl.ai in one shopping category (for example travel) bid for the user at once, from their haggl ID record, without new proof. Works once the record holds a verified purchase in that category (from an earlier offer with signed email proof); otherwise it says so and returns no bids. Each bid is a merchant's own offer, funded by the merchant, with an accept_url; show the user each one with its personalized_price_notice, and accept only with their approval.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoWhat the user is after, e.g. "hotel in Barcelona, 4 nights in December". Sets the category when category is omitted.
categoryNoOptional: the brand index category, e.g. "travel".
haggl_idYesThe user's haggl ID.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bidsNoMerchants' offers. Show each with its personalized_price_notice; accept only with the user's approval.
codeNoPresent only when the call failed: a machine-readable error code, e.g. quote_uncertain or rate_limited.
noteNoWhy there are no bids, when locked.
errorNoPresent only when the call failed: what went wrong.
labelNoCategory name.
categoryNoThe shopping category.
recoveryNoWhen the outcome is uncertain: the tool and session_id to read before retrying.
unlockedNoWhether the record holds a verified purchase in this category; when false, bids is empty.
retryableNoWhether the same call may be retried.
how_it_worksNoThe flow, step by step.
retry_after_secondsNoWhen rate limited: seconds to wait before retrying.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare this is not read-only and not idempotent, and the description adds substantial non-structured context: the verified-purchase prerequisite, the empty-bid fallback, that each bid is merchant-funded with an accept_url, and the user-approval requirement before acceptance. It does not disclose side effects of repeated calls (non-idempotency) or rate/limit characteristics, but the additions go well beyond the annotations.

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 main action is front-loaded in the opening clause, and the following sentences carry real information (precondition, fallback, bid structure, approval rule) rather than filler. It is dense but each clause earns its place, with only mild redundancy around the category example.

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?

An output schema exists, so return shape need not be re-explained, yet the description usefully summarizes the bid contents (accept_url, personalized_price_notice). Preconditions, fallback behavior, and the approval gate are all covered, leaving only the multi-call/non-idempotent behavior unaddressed.

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 100%, so the schema already documents query, category, and haggl_id, including that query sets the category when omitted. The description echoes the category concept with a 'travel' example but adds no format or constraint detail the schema lacks. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific action (have merchants in one category bid at once) tied to a specific resource (bids from the user's haggl ID record), and the word 'at once' conveys the broadcast nature that separates it from retrieval tools like haggl_get_my_offers. It stops short of naming any sibling explicitly, so cross-tool disambiguation relies on inference.

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?

Gives a clear precondition ('works once the record holds a verified purchase in that category') and the failure behavior ('otherwise it says so and returns no bids'), plus a post-condition rule to accept only with user approval. It never names an alternative tool (e.g. haggl_start_negotiation) for the precondition-not-met case, so routing guidance is incomplete.

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