mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 15:19:10 +02:00
54 lines
1.8 KiB
Text
54 lines
1.8 KiB
Text
---
|
|
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>
|