Skip to content
{mcpdesc}

Declare elicitations with their mode fields

An elicitation declaration has a name, a mode, and a message. Form mode requires requestedSchema and forbids url; URL mode requires url and forbids requestedSchema. Unknown properties are rejected.

An Elicitation Declaration has its required fields, the fields of its mode only, and no unknown properties.

Rule ID: mcpdesc.elicitation.members
Owner: mcpdesc
Surface: Elicitation Declaration
Kind: structural
Requirement level: must
Protocol versions: independent of the MCP protocol version
Document schema locations: #/$defs/elicitationDeclaration
Status: internal · Enforcement: internal

Source: expected-invalid/elicitation-branch-mixing.json · Selected: /resources/0/elicitations/0

{
"name": "mixed",
"mode": "form",
"message": "Supply account details.",
"url": "not a valid URI",
"requestedSchema": {
"type": "object",
"properties": {}
}
}

Source: expected-invalid/discriminated-union-members.json · Selected: /tools/0/elicitations/0

{
"name": "approve",
"mode": "form",
"message": "Approve?"
}

elicitation.yaml at immutable tag v0.9.0-rc.3.