Skip to main content
Elicitation lets your server ask the client to collect structured input from the user while a tool is running—confirmations, missing parameters, or a small “form”.

Basic usage

Parameters

request_elicitation(...) takes an ElicitRequestParams with:
  • message: str: text shown to the user
  • requestedSchema: dict: a restricted JSON Schema object describing the expected fields
Schema limitations (enforced by Dedalus MCP):
  • top-level type must be "object"
  • properties must be a non-empty object
  • property type must be one of: "string", "number", "integer", "boolean"
  • nested objects/arrays are not supported

Response actions

The client returns an ElicitResult with:
  • action: "accept" | "decline" | "cancel"
  • content: optional mapping (present when action == "accept")

Example: Progressive disclosure

Collect complex information step-by-step:

Error handling

Elicitation requires an active MCP session and a client that advertises the elicitation capability. If not, request_elicitation(...) raises McpError (typically METHOD_NOT_FOUND), and timeouts raise McpError as well.
Last modified on June 30, 2026