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.
Requirement
Section titled “Requirement”An Elicitation Declaration has its required fields, the fields of its mode only, and no unknown properties.
Details
Section titled “Details”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
Required by
Section titled “Required by”- MCP Description 0.9.0, Section 12.2
- 12. Elicitation Declarations: req-elicitation-declaration-fields
-
- Elicitation Declarations: req-elicitation-name-format
-
- Elicitation Declarations: req-elicitation-message
-
- Elicitation Declarations: req-elicitation-documentation-fields
-
- Elicitation Declarations: req-elicitation-form-schema-required
-
- Elicitation Declarations: req-elicitation-form-no-url
-
- Elicitation Declarations: req-elicitation-url-no-schema
-
- Elicitation Declarations: req-elicitation-url-syntax
Examples
Section titled “Examples”Invalid example
Section titled “Invalid example”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": {} }}Invalid example
Section titled “Invalid example”Source: expected-invalid/discriminated-union-members.json · Selected: /tools/0/elicitations/0
{ "name": "approve", "mode": "form", "message": "Approve?"}Rule Source Code
Section titled “Rule Source Code”elicitation.yaml at immutable tag v0.9.0-rc.3.