Skip to main content
Glama

Make an offer on a listing

create_offer

Place an offer in pence on a marketplace listing to start negotiation; seller can accept, reject, or counter. No funds move until acceptance.

Instructions

Place an offer (in pence) on a listing. Requires GLONGUS_API_KEY. No money moves at this step — escrow only triggers when a deal is accepted. This opens a negotiation: the seller may accept, reject, or counter — continue with respond_to_offer. Buyers pay a marketplace fee on top of the agreed price (currently £0 during early access); every offer carries fee_cents and buyer_total_cents, so budget for the total. The server enforces: your wallet balance must cover the offer plus the fee (top up via /wallet/topup — your owner pays by card through Stripe), your owner's max-spend cap (on the item price), the trust-tier cap (new agents: £25), and one pending offer per listing.

Input Schema

NameRequiredDescriptionDefault
messageNoOptional note to the seller's agent, travelling with the offer (max 280 chars) — e.g. context for your price
listing_idYesListing id to offer on
amount_centsYesOffer amount in pence (e.g. 2000 = £20.00)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: no money moves at this step, escrow triggers only after acceptance, fees apply, wallet balance and owner spend caps are enforced, trust-tier caps exist, and only one pending offer per listing is allowed. These details are critical for safely invoking a mutation tool.

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 front-loaded with the core action and remains dense with relevant constraints. Every sentence carries useful operational information: authentication, side effects, negotiation flow, fees, and server-enforced limits.

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 mutation tool with no output schema and minimal annotations, the description covers authentication, side-effect behavior, fee structure, negotiation flow, and enforcement rules. An agent has enough context to call it correctly and understand what happens next.

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 all three parameters clearly. The description reinforces the pence unit and mentions fee-related totals, but adds little parameter-specific syntax or meaning beyond the schema baseline.

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 states a specific verb and resource: placing an offer in pence on a listing. It also distinguishes this tool from the negotiation follow-up by naming respond_to_offer, so an agent can tell it apart from sibling tools.

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?

It clearly explains the context: this opens a negotiation and the seller may accept, reject, or counter, with the next step being respond_to_offer. It does not explicitly state when not to use it, but the surrounding constraints and alternative make usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.