# Конструктор JSON Schema для tool-calling LLM

Опишите LLM-инструмент один раз — получите проверенные payload'ы function-calling для OpenAI, Anthropic и Gemini.

> Каноническая страница: https://elysiatools.com/ru/tools/llm-tool-calling-json-schema-builder

- **Категория:** AI Tools

- **Ключевые слова:** function calling, схема инструмента, json schema, openai tools, anthropic tool use, объявления функций gemini, llm-агент, mcp, структурированные выводы

## Обзор

DSL «один параметр в строке» на входе, три готовых к вставке payload'а на выходе и таблица проверки, которая ловит различия схем, приводящие к ошибкам 400, до релиза.

## Входные данные

- **Название инструмента** (text): get_weather
- **Описание инструмента** (textarea): Get the current weather for a city. Use when the user asks about temperature, conditions or a forecast.
- **Параметры (по одному в строке)** (textarea): city | string | required | City name, e.g. "Paris" units | enum | optional | Temperature unit for the report location | object | required | Coordinates lat | number | required | Latitude in degrees lng | number | required | Longitude in degrees
- **Строгий режим** (checkbox)
- **tool_choice** (select)

## Когда использовать

- При разработке мультимодельных LLM-агентов, работающих одновременно с OpenAI, Anthropic и Gemini.
- При необходимости быстро описать сложные схемы вызова функций с вложенными объектами и массивами без ручного написания JSON Schema.
- При настройке строгого режима Structured Outputs (strict mode) и конфигурации параметров tool_choice.

## Как это работает

- Задайте название и назначение функции, а также перечислите параметры в формате построчного DSL (имя | тип | обязательность | описание), используя отступы для вложенных полей.
- Выберите необходимость строгого режима (strict mode) и укажите режим вызова инструмента через параметр tool_choice.
- Получите готовые JSON-пейлоуды для каждого провайдера и таблицу валидации, отображающую соответствие спецификациям OpenAI, Anthropic и Gemini.

## Сценарии использования

- Генерация определений инструментов для интеграции внешних REST API и погодных сервисов в LLM-агенты.
- Подготовка строгих схем для бронирования билетов, заказов и e-commerce сценариев с вложенными структурами данных.
- Унификация вызовов функций в MCP-серверах (Model Context Protocol) и мультипровайдерных шлюзах.

## Частые вопросы

### Чем отличаются схемы инструментов между OpenAI, Anthropic и Gemini?

OpenAI использует `tools` с `function.parameters`, Anthropic требует `input_schema`, а Gemini ожидает `functionDeclarations` с типами данных в верхнем регистре (например, `OBJECT`, `STRING`).

### Как задавать вложенные объекты и массивы в параметрах?

Используйте типы \`object\` или \`array\` и добавляйте дочерние поля на следующих строках с отступом в два пробела.

### Что делает переключатель «Строгий режим» (strictMode)?

Он включает поддержку Structured Outputs: добавляет `additionalProperties: false`, переносит необязательные поля в список `required` со схемой nullable-типов и формирует совместимый JSON для строгой валидации.

### Какие значения поддерживает параметр tool_choice?

Доступны три варианта: `omit` (не передавать директиву выбора), `auto` (модель сама решает, вызывать ли функцию) и `force` (принудительный вызов конкретного инструмента).

### Поддерживаются ли перечисления (enum)?

Да, тип перечисления указывается в формате `enum<значение1,значение2,значение3>` и преобразуется в валидный массив `enum` внутри JSON Schema.

## Связанные инструменты

- [Тестер контрактов MCP-серверов (транспорты stdio + WebSocket · проверка схем JSON Schema 2020-12)](https://elysiatools.com/ru/tools/model-context-protocol-mcp-server-tool-schema-stdio-websocket-transport-contract-tester): Сквозная проверка контрактов серверов Model Context Protocol: согласование JSON-RPC 2.0, обмен capabilities, tools/list с корневым типом object и компиляцией по черновику 2020-12, чтение resources, получение prompts, ping, семантика -32601 для неизвестных методов, круг sampling/createMessage и дисциплина stdio-фрейминга; по умолчанию — офлайн-самопроверка на встроенном эталонном сервере либо проверка вашей stdio-команды или ws://-эндпоинта.
- [Экстрактор токенов темы ECharts](https://elysiatools.com/ru/tools/echarts-theme-token-extractor): Извлекает дизайн-токены — цвета, числа, размеры шрифтов и строки — из JSON темы ECharts и экспортирует их прямо в вашу дизайн-систему. Вставьте объект темы (тот, что регистрируется и передаётся в echarts.init(dom, themeName)) — инструмент обойдёт каждый лист, пометит каждый цвет (с опциональной нормализацией имя/rgb → hex), числовой отступ, размер шрифта и строку, затем выдаст чистые CSS-переменные, конфиг theme.extend для Tailwind, tokens.json Style Dictionary или SCSS-переменные. Мост между темой визуализации ECharts и дизайн-токенами Figma/CSS/Tailwind без копирования каждого значения вручную.
- [Палитра из изображения в design-токены](https://elysiatools.com/ru/tools/image-to-design-tokens): Извлекает доминирующие цвета из изображения методом k-средних и экспортирует их как CSS-переменные / SCSS / конфиг Tailwind / JSON-токены с именами и шкалой оттенков
- [Извлекатель JSON-путей](https://elysiatools.com/ru/tools/json-path-extractor): Позволяет запрашивать JSON через выражения в стиле JSONPath или JMESPath, просматривать совпавшие пути и подсвечивать извлеченные значения в исходном документе
- [Инструмент запросов JSONPath](https://elysiatools.com/ru/tools/jsonpath-query-tool): Позволяет запрашивать произвольный JSON через JSONPath, просматривать совпадения, переключать формат вывода и сохранять шаблоны
- [Генератор и анализатор JWK](https://elysiatools.com/ru/tools/jwk-generator): Генерирует JSON Web Keys (JWK) для RSA, EC (P-256/P-384/P-521/secp256k1) и OKP (Ed25519/Ed448/X25519/X448), либо разбирает существующий JWK для просмотра параметров, отпечатка и метаданных
- [Мост OCR PDF → структурированный JSON](https://elysiatools.com/ru/tools/ocr-pdf-to-structured-json-bridge): Извлекает текстовый слой PDF с геометрией (строки по y-координате, таблицы по промежуткам колонок, заголовки по кеглю, пары ключ-значение через двоеточие) и заполняет пользовательскую JSON-схему поле за полем — метки сопоставляются по нормализованным ключам, значения приводятся к объявленным типам и проверяются ajv.
- [Проводник структуры JSON из PDF](https://elysiatools.com/ru/tools/pdf-to-json-structure-explorer): Извлекает JSON-структуру OpenDataLoader из PDF и показывает заголовки, абзацы, таблицы, списки и bounding box

## Примеры

- [JSON Примеры Terraform Plan](https://elysiatools.com/ru/samples/terraform-plan-json-samples): Файлы Terraform plan JSON для визуализации зависимостей и проверки изменений, похожие на terraform show -json
- [Примеры JSON чата](https://elysiatools.com/ru/samples/chat-transcript-json): Примеры JSON для чат-транскриптов с несколькими ролями
- [Примеры JSON](https://elysiatools.com/ru/samples/json): Примеры формата JSON (JavaScript Object Notation) от простых до сложных структур
- [Примеры JSON для Rich Text](https://elysiatools.com/ru/samples/rich-media-json): Примеры JSON для редакторов rich text (TipTap, Quill, Slate)
