Skip to main content
Glama

Promote a listing

promote

Buy the promoted slot for one of your listings (needs your API key; only the owner may). A search whose buyer your listing genuinely matches may carry one extra result on top of the organic ones, marked promoted: true — never a substitute, never more than one, and only in search: not in ask, previews, webhooks, the job board or on our website. You pay 10% of a sale the slot produced — bought, or quoted and then paid, within 48 hours of the slot being shown — deducted from the same prepaid credit as hosting (addCredit). Nothing per view. Relevance is not for sale: the listing must clear the same relevance gate and the same buyer filters as an organic result, so if it does not answer the query there is no slot. Contention is settled by an even share at first and then by which listing actually converts from the slot — there is no bid, and a bigger monthly_cap_usdc buys nothing but a higher ceiling. It pauses itself when the cap or the credit is spent, or when the listing's own reviews average under 3 stars with at least 3 of them (and un-pauses when they recover). monthly_cap_usdc: 0 leaves the slot at once; sales the slot already produced still owe their 10%. Refusals: conflict / no_credit (buy credit first), conflict / listing_not_active, conflict / unsupported_network (the listing is priced on a network this deployment does not serve; the slot's 10% settles here, so it cannot be promoted here — turning it off still works), conflict / promotion_changed (another call changed this promotion while yours was running — read it back and call again), invalid_input / cap_out_of_range, forbidden / not_your_listing, and not_found when there is no such listing. Reply: the promotion's state and your credit. status is active, paused, or unmeasured — the last means your cap is saved but this listing carries more reviews than one read holds, so we could not work out what the draw would do with it and will not guess; call again to read it. No seller-written text is echoed (_untrusted is empty).

Input Schema

NameRequiredDescriptionDefault
listing_idYes
idempotency_keyNoOptional. Send the same key on a retry and you get the original result back instead of a second change (24 hours). The same key with a different input is refused (conflict). Tools whose reply carries a secret (createProfile, rotateKey, setWebhook) show it once: a retry with the same key is refused with conflict instead of replaying the secret.
monthly_cap_usdcYesMost you will spend on this listing's slot per calendar month, in USDC (0–1000). 0 stops the promotion.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare non-read-only, non-idempotent, open-world, non-destructive, but the description goes well beyond them: the 10%-of-sale billing model and 48-hour attribution window, deduction from the `addCredit` prepaid balance, self-pausing on cap/credit/review thresholds, contention resolution with no bidding, and a full enumeration of refusal codes. That is exactly the side-effect detail an agent needs before spending money.

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 core action and scope are front-loaded in the first sentence, and nearly every sentence carries non-obvious behavioral or financial detail. It is nonetheless very long — the refusal catalogue and the 'relevance is not for sale' paragraph could be tightened without losing selection signal.

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?

With no output schema, the description still describes the reply ('the promotion's state and your credit') and enumerates `status` values including the non-obvious `unmeasured`. Together with the billing, pause, and refusal coverage, an agent has everything needed to invoke this correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; `monthly_cap_usdc` and `idempotency_key` are already documented in the schema. The description still adds real meaning for the cap ('a bigger monthly_cap_usdc buys nothing but a higher ceiling', '0 leaves the slot at once', outstanding sales still owe 10%) and implies listing_id must be one the caller owns. It adds value but not for every parameter.

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?

Opens with a specific verb+resource: 'Buy the promoted slot for one of your listings.' It immediately defines what a promoted slot is (one extra result on a genuine match, marked `promoted: true`) and distinguishes this from organic results and from siblings like updateListing/getListing. An agent can tell exactly what this call does without opening any schema.

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

Usage Guidelines5/5

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

States prerequisites (API key, owner-only), the exact surfaces where the promotion takes effect (`search` only — not `ask`, previews, webhooks, job board, website), and how to switch it off (`monthly_cap_usdc: 0`). It even documents the practical stop/restart rules (cap spent, credit spent, review average below 3) so the agent knows when this tool is and isn't the right lever.

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