Skip to main content
Glama

Wait for a decision

elicit_await
Read-only

Long-poll for a decision on a pending elicitation: blocks until the request is submitted, declined, canceled, or expired — or until the server's polling window closes. Returns { status } (pending | submitted | declined | canceled | expired | consumed); a pending return means the window elapsed, so call again to keep waiting. Prefer this over polling elicit_status in a loop. If your host or gateway times out tool calls sooner than the server's window, pass maxWaitSeconds below that timeout.

Input Schema

NameRequiredDescriptionDefault
elicitationIdYesThe `elicitationId` returned by the creating tool (elicit_approval, elicit_selection, or elicit_proposal).
maxWaitSecondsNoLongest this call waits, in seconds. Can only shorten the server's window (50 by default), never extend it; values under 1 count as 1. Set it a few seconds below your host or gateway's tool-call timeout — e.g. 25 behind a 30-second gateway.

Output Schema

NameRequiredDescriptionDefault
statusYesThe request's state when the wait ended; `pending` means the polling window elapsed undecided — call again to keep waiting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / maxWaitSeconds
      Added value: +{
      +  "description": "Longest this call waits, in seconds. Can only shorten the server's window (50 by default), never extend it; values under 1 count as 1. Set it a few seconds below your host or gateway's tool-call timeout — e.g. 25 behind a 30-second gateway.",
      +  "type": "number"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +{}
  3. Changed2 schema fields changed
    • addedInput schema / properties / elicitationId / description
      Added value: +"The `elicitationId` returned by the creating tool (elicit_approval, elicit_selection, or elicit_proposal)."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "status": {
      +      "description": "The request's state when the wait ended; `pending` means the polling window elapsed undecided — call again to keep waiting.",
      +      "enum": [
      +        "pending",
      +        "submitted",
      +        "declined",
      +        "canceled",
      +        "expired",
      +        "consumed"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries the real behavioral load and does: it discloses that the call blocks, the exact terminal conditions (submitted/declined/canceled/expired/window close), and that `pending` is not a failure but a window expiry requiring a re-call. That is precisely the non-obvious context an agent needs to avoid mis-handling a timeout as an error.

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?

Four dense sentences, zero filler, and the core blocking semantics plus the `pending`-means-retry rule are front-loaded before the timeout tuning advice. Every sentence earns its place.

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?

With an output schema present, the description needn't enumerate return values, and it covers blocking, retry, and timeout interaction well. The one missing link is what to do after a `submitted` status — presumably `elicit_result` — which would complete the workflow chain across siblings.

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 coverage is 100%, so both parameters are already documented, including the 50-second default and the "can only shorten, never extend" rule. The description restates the host-timeout rationale but adds no syntax or edge-case detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ("Long-poll for a decision on a pending elicitation") and immediately names the sibling it replaces ("Prefer this over polling `elicit_status` in a loop"). An agent can distinguish it from elicit_status, elicit_result, and elicit_cancel 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?

Explicitly states when to use it over the alternative ("Prefer this over polling `elicit_status` in a loop") and gives a concrete condition for choosing `maxWaitSeconds` ("If your host or gateway times out tool calls sooner than the server's window"). It also tells the agent what to do on a `pending` return, closing the retry loop.

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