mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 15:19:10 +02:00
* Update repository references from jlowin/fastmcp to prefecthq/fastmcp * Retrigger CI after repo transfer * chore: Update SDK documentation * Only run deep triage on bug issues for jlowin --------- Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
62 lines
2.2 KiB
Text
62 lines
2.2 KiB
Text
---
|
|
title: json_schema_converter
|
|
sidebarTitle: json_schema_converter
|
|
---
|
|
|
|
# `fastmcp.utilities.openapi.json_schema_converter`
|
|
|
|
|
|
|
|
Clean OpenAPI 3.0 to JSON Schema converter for the experimental parser.
|
|
|
|
This module provides a systematic approach to converting OpenAPI 3.0 schemas
|
|
to JSON Schema, inspired by py-openapi-schema-to-json-schema but optimized
|
|
for our specific use case.
|
|
|
|
|
|
## Functions
|
|
|
|
### `convert_openapi_schema_to_json_schema` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/openapi/json_schema_converter.py#L38" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
convert_openapi_schema_to_json_schema(schema: dict[str, Any], openapi_version: str | None = None, remove_read_only: bool = False, remove_write_only: bool = False, convert_one_of_to_any_of: bool = True) -> dict[str, Any]
|
|
```
|
|
|
|
|
|
Convert an OpenAPI schema to JSON Schema format.
|
|
|
|
This is a clean, systematic approach that:
|
|
1. Removes OpenAPI-specific fields
|
|
2. Converts nullable fields to type arrays (for OpenAPI 3.0 only)
|
|
3. Converts oneOf to anyOf for overlapping union handling
|
|
4. Recursively processes nested schemas
|
|
5. Optionally removes readOnly/writeOnly properties
|
|
|
|
**Args:**
|
|
- `schema`: OpenAPI schema dictionary
|
|
- `openapi_version`: OpenAPI version for optimization
|
|
- `remove_read_only`: Whether to remove readOnly properties
|
|
- `remove_write_only`: Whether to remove writeOnly properties
|
|
- `convert_one_of_to_any_of`: Whether to convert oneOf to anyOf
|
|
|
|
**Returns:**
|
|
- JSON Schema-compatible dictionary
|
|
|
|
|
|
### `convert_schema_definitions` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/utilities/openapi/json_schema_converter.py#L322" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
convert_schema_definitions(schema_definitions: dict[str, Any] | None, openapi_version: str | None = None, **kwargs) -> dict[str, Any]
|
|
```
|
|
|
|
|
|
Convert a dictionary of OpenAPI schema definitions to JSON Schema.
|
|
|
|
**Args:**
|
|
- `schema_definitions`: Dictionary of schema definitions
|
|
- `openapi_version`: OpenAPI version for optimization
|
|
- `**kwargs`: Additional arguments passed to convert_openapi_schema_to_json_schema
|
|
|
|
**Returns:**
|
|
- Dictionary of converted schema definitions
|
|
|