mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 23:29:10 +02:00
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
43 lines
1.6 KiB
Text
43 lines
1.6 KiB
Text
---
|
|
title: schemas
|
|
sidebarTitle: schemas
|
|
---
|
|
|
|
# `fastmcp.utilities.openapi.schemas`
|
|
|
|
|
|
Schema manipulation utilities for OpenAPI operations.
|
|
|
|
## Functions
|
|
|
|
### `clean_schema_for_display` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/openapi/schemas.py#L12" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
clean_schema_for_display(schema: JsonSchema | None) -> JsonSchema | None
|
|
```
|
|
|
|
|
|
Clean up a schema dictionary for display by removing internal/complex fields.
|
|
|
|
|
|
### `extract_output_schema_from_responses` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/openapi/schemas.py#L474" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
extract_output_schema_from_responses(responses: dict[str, ResponseInfo], schema_definitions: dict[str, Any] | None = None, openapi_version: str | None = None) -> dict[str, Any] | None
|
|
```
|
|
|
|
|
|
Extract output schema from OpenAPI responses for use as MCP tool output schema.
|
|
|
|
This function finds the first successful response (200, 201, 202, 204) with a
|
|
JSON-compatible content type and extracts its schema. If the schema is not an
|
|
object type, it wraps it to comply with MCP requirements.
|
|
|
|
**Args:**
|
|
- `responses`: Dictionary of ResponseInfo objects keyed by status code
|
|
- `schema_definitions`: Optional schema definitions to include in the output schema
|
|
- `openapi_version`: OpenAPI version string, used to optimize nullable field handling
|
|
|
|
**Returns:**
|
|
- MCP-compliant output schema with potential wrapping, or None if no suitable schema found
|
|
|