Spaces:
Running
Running
| --- | |
| title: elicitation | |
| sidebarTitle: elicitation | |
| --- | |
| # `fastmcp.server.elicitation` | |
| ## Functions | |
| ### `get_elicitation_schema` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/elicitation.py#L42" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| get_elicitation_schema(response_type: type[T]) -> dict[str, Any] | |
| ``` | |
| Get the schema for an elicitation response. | |
| **Args:** | |
| - `response_type`: The type of the response | |
| ### `validate_elicitation_json_schema` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/elicitation.py#L58" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| validate_elicitation_json_schema(schema: dict[str, Any]) -> None | |
| ``` | |
| Validate that a JSON schema follows MCP elicitation requirements. | |
| This ensures the schema is compatible with MCP elicitation requirements: | |
| - Must be an object schema | |
| - Must only contain primitive field types (string, number, integer, boolean) | |
| - Must be flat (no nested objects or arrays of objects) | |
| - Allows const fields (for Literal types) and enum fields (for Enum types) | |
| - Only primitive types and their nullable variants are allowed | |
| **Args:** | |
| - `schema`: The JSON schema to validate | |
| **Raises:** | |
| - `TypeError`: If the schema doesn't meet MCP elicitation requirements | |
| ## Classes | |
| ### `AcceptedElicitation` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/elicitation.py#L30" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| Result when user accepts the elicitation. | |
| ### `ScalarElicitationType` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/elicitation.py#L38" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |