Skip to main content
Glama

create_ask

Hold/relay step 1. Post an ask (pay now, collect answers later) and start checkout. Same call as hold_ask and relay_ask. Deposit $1–$5 (default $1) in price_cents. Optional text is detail. deposit_cents and body are rejected. Send callback_url (public http or https, at most 500 characters). Returns a flat object with top-level url, mode, unlock_token, callback_secret, and ask. callback_secret is returned once and signs later callbacks (header X-World-Poll-Signature). Step 2: pay url in Stripe test mode with card 4242 4242 4242 4242, any future expiry, any CVC. The success URL does not include unlock_token. Do not scrape it. Step 3: wait for unlock.completed on callback_url (includes unlock_token, no answer bodies). That POST means payment cleared. Then answer_ask for free and get_ask with unlock_token. Before payment, get_ask stays locked and answer_ask returns HTTP 409. ask.closed has no token and no answer bodies. Default TTL 24h, maximum 7 days. Reader unlock is $1. Every Checkout session is USD and adaptive pricing is off. Omitted payer_type means human on this tool. Set is_sample true to hide a Stripe test ask. Dogfood, WP Integrator, and WP Buyer titles are hidden the same way. GET /api/asks?include_samples=1 lists them. Poll unlock $1. Asker posts $1–$5. Reader unlock $1. Answers are free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesQuestion to post on the ask board.
detailNoOptional context for answerers. Canonical name: detail. body is the answer field on answer_ask, not this field.
is_sampleNoOperator test ask. Hidden from GET /api/asks and the catalog unless include_samples is set. Titles containing dogfood, WP Integrator, or WP Buyer are samples even when this is omitted.
expires_atNoISO-8601 timestamp. Default is 24 hours from create. Maximum is 7 days.
payer_typeNoEvery Checkout session is USD and adaptive pricing is off. Omitted means human on this tool.
max_answersNoClose the ask after this many answers. Default 20.
price_centsNoAsker post in cents. Canonical name: price_cents. $1–$5 (100–500). Default 100. deposit_cents is rejected.
callback_urlNoPublic http or https URL, at most 500 characters. Production refuses private and loopback hosts. World Poll POSTs application/json to this URL. Event unlock.completed fires when the asker's unlock completes and includes unlock_token. Event ask.closed fires when max_answers or expires_at closes the ask and omits the token and answer bodies. Read answers with get_ask.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / detail / description
      Previous value: -"Optional context for answerers."New value: +"Optional context for answerers. Canonical name: detail. body is the answer field on answer_ask, not this field."
    • addedInput schema / properties / is_sample
      Added value: +{
      +  "description": "Operator test ask. Hidden from GET /api/asks and the catalog unless include_samples is set. Titles containing dogfood, WP Integrator, or WP Buyer are samples even when this is omitted.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / price_cents / description
      Previous value: -"Hold/relay deposit in cents. $1–$5 (100–500). Default 100."New value: +"Asker post in cents. Canonical name: price_cents. $1–$5 (100–500). Default 100. deposit_cents is rejected."
  2. Changed10 schema fields changed
    • addedInput schema / properties / callback_url / description
      Added value: +"Public http or https URL, at most 500 characters. Production refuses private and loopback hosts. World Poll POSTs application/json to this URL. Event unlock.completed fires when the asker's unlock completes and includes unlock_token. Event ask.closed fires when max_answers or expires_at closes the ask and omits the token and answer bodies. Read answers with get_ask."
    • addedInput schema / properties / callback_url / format
      Added value: +"uri"
    • addedInput schema / properties / callback_url / maxLength
      Added value: +500
    • addedInput schema / properties / detail / description
      Added value: +"Optional context for answerers."
    • addedInput schema / properties / expires_at / description
      Added value: +"ISO-8601 timestamp. Default is 24 hours from create. Maximum is 7 days."
    • addedInput schema / properties / expires_at / format
      Added value: +"date-time"
    • addedInput schema / properties / max_answers / description
      Added value: +"Close the ask after this many answers. Default 20."
    • addedInput schema / properties / payer_type / description
      Added value: +"Every Checkout session is USD and adaptive pricing is off. Omitted means human on this tool."
    • addedInput schema / properties / price_cents / description
      Added value: +"Hold/relay deposit in cents. $1–$5 (100–500). Default 100."
    • addedInput schema / properties / title / description
      Added value: +"Question to post on the ask board."
  3. First observed

TDQS

A3.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so richly: it discloses return shape, one-time callback_secret, callback events and signatures, Stripe test mode, TTL defaults and maximums, USD-only Checkout, hidden samples, and post-payment lock states. This is far beyond what the schema alone conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively long and includes details irrelevant to this tool, such as poll unlock pricing, catalog listing endpoints, and duplicate cost statements. While it is loosely structured into steps, the signal-to-noise ratio is poor and the core invocation information is buried.

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?

Given the complex multi-step payment workflow, no annotations, and no output schema, the description is largely complete: it explains the return object's top-level fields, callback behavior, and follow-up calls. It falls just short of 5 because some noise and ambiguity remain, and nested ask object fields are not described.

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 baseline is 3. The description repeats most parameter details already present in the schema and adds little new semantic information, aside from noting that deposit_cents and body are rejected, which is only marginally useful beyond the schema.

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?

The description names the specific action: 'Post an ask ... and start checkout,' and identifies the resource (ask). It distinguishes downstream steps from answer_ask and get_ask, though the opening 'Hold/relay step 1' and 'Same call as hold_ask and relay_ask' slightly muddle whether this is an alias or a distinct creation call.

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

Usage Guidelines3/5

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

It implies usage through a detailed step-by-step payment workflow, but it never explicitly states when to choose create_ask over hold_ask or relay_ask, only that it is 'the same call.' No when-not or exclusion guidance is provided, leaving the agent to infer the selection context.

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