Skip to main content
Glama

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

TableJSON 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.6/5.0
Behavior5/5

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

The description goes far beyond the annotations by disclosing the cost model (10% only on sale, nothing per view), the self-pausing behavior, the monthly cap semantics, the absence of bidding, the relevance-gate requirement, the exact refusal codes, and the meaning of `status` values. This is unusually complete behavioral disclosure for a mutating tool.

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 is long but dense with operational necessity: purpose, cost, constraints, refusals, and response semantics are all covered. It is front-loaded by stating the action and scope first. It loses a point for being a single wall of text with no structural breaks, which makes parsing heavier than it needs to be.

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 paid mutation with no output schema, this description is nearly complete. It explains prerequisites, exact failure modes and how to resolve them, retry/idempotency behavior, post-call status values, and what the reply contains. An agent has enough information to decide, invoke, and interpret the result without guessing.

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%, and the description compensates for the undocumented `listing_id` by adding ownership, active-listing, network, and review-eligibility constraints. It also enriches `monthly_cap_usdc` by explaining that `0` immediately leaves the slot and that a higher cap only raises the ceiling. It adds little to `idempotency_key`, but the schema already documents that parameter well.

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 a specific verb and resource: 'Buy the promoted slot for one of your listings.' It also clearly distinguishes this tool's scope by saying the promotion appears only in `search`, not in `ask`, previews, webhooks, the job board, or the website. This makes the purpose unmistakable and separates it from related listing/search siblings.

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 gives clear invocation conditions: only the owner may call it, an API key is required, credit must exist, the listing must be active, and the network must be supported. It even maps refusal codes to remediation steps, such as 'buy credit first' for `no_credit`. It does not explicitly name a sibling alternative, but the promotion action is unique and the guidance is otherwise strong.

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