# Construtor de JSON Schema para tool-calling de LLM

Defina uma ferramenta LLM uma vez e gere payloads de function-calling validados para OpenAI, Anthropic e Gemini.

> Página canônica: https://elysiatools.com/pt/tools/llm-tool-calling-json-schema-builder

- **Categoria:** AI Tools

- **Palavras-chave:** function calling, schema de ferramenta, json schema, openai tools, anthropic tool use, declarações de funções gemini, agente llm, mcp, saídas estruturadas

## Visão geral

DSL de um parâmetro por linha na entrada, três payloads prontos para colar na saída e uma tabela de validação que intercepta antes do lançamento as diferenças de schema que causam erros 400.

## Entradas

- **Nome da ferramenta** (text): get_weather
- **Descrição da ferramenta** (textarea): Get the current weather for a city. Use when the user asks about temperature, conditions or a forecast.
- **Parâmetros (um por linha)** (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
- **Modo estrito** (checkbox)
- **tool_choice** (select)

## Quando usar

- Ao desenvolver agentes de IA ou integrações que precisam suportar múltiplos provedores de LLM com as mesmas ferramentas.
- Ao configurar Structured Outputs ou modo estrito (strict mode) onde regras de preenchimento e campos nulos exigem schemas precisos.
- Ao documentar e testar parâmetros aninhados ou listas de objetos antes de enviar chamadas de function-calling em produção.

## Como funciona

- Informe o nome e a descrição da ferramenta nos campos correspondentes da interface.
- Declare os parâmetros no editor utilizando a DSL de uma linha por campo (nome | tipo | obrigatoriedade | descrição), usando indentação para objetos aninhados e arrays.
- Defina a opção de modo estrito e a configuração de tool_choice conforme a estratégia de execução do seu modelo.
- Copie os blocos JSON gerados para OpenAI (tools), Anthropic (tools) ou Gemini (functionDeclarations) e confira os alertas na tabela de validação de schemas.

## Casos de uso

- Padronização de ferramentas em pipelines multimodelo que alternam dinamicamente entre GPT-4o, Claude 3.5 Sonnet e Gemini 1.5 Pro.
- Criação rápida de declarações de funções para servidores MCP (Model Context Protocol) e frameworks de agentes autônomos.
- Migração de schemas legados da OpenAI para as especificações de tool use da Anthropic e function declarations da Google.

## Perguntas frequentes

### O que a sintaxe DSL de parâmetros suporta?

Suporta tipos primitivos (string, number, integer, boolean), enums (enum), arrays (array) e objetos aninhados definidos por indentação com dois espaços.

### Como o modo estrito afeta o payload da OpenAI?

Com o modo estrito ativo, todos os campos são adicionados ao array required, tipos opcionais recebem a união com null e a propriedade additionalProperties é definida como false.

### Quais são as diferenças de schema no Gemini?

O Gemini utiliza tipos em caixa alta (como OBJECT ou STRING), não aceita additionalProperties e organiza a ordem de execução com o campo propertyOrdering.

### Para que serve a configuração de tool_choice?

Ela gera o fragmento de configuração que instrui a API a omitir a escolha, permitir que o modelo decida automaticamente (auto) ou forçar a execução obrigatória da ferramenta criada.

### A ferramenta valida campos obrigatórios em schemas aninhados?

Sim, a tabela de validação inspeciona objetos filhos e listas de objetos para garantir que as regras de cada provedor sejam cumpridas sem conflitos.

## Ferramentas relacionadas

- [Testador de contratos de servidores MCP (transportes stdio + WebSocket · validação de esquemas JSON Schema 2020-12)](https://elysiatools.com/pt/tools/model-context-protocol-mcp-server-tool-schema-stdio-websocket-transport-contract-tester): Verificação ponta a ponta de contratos de servidores Model Context Protocol: negociação JSON-RPC 2.0, troca de capabilities, tools/list com tipo raiz object e compilação pelo rascunho 2020-12, leitura de resources, obtenção de prompts, ping, semântica -32601 para métodos desconhecidos, ida e volta de sampling/createMessage e disciplina de enquadramento stdio; por padrão, autoteste offline contra um servidor de referência embutido, ou contra seu comando stdio ou endpoint ws://.
- [Extrator de tokens de tema ECharts](https://elysiatools.com/pt/tools/echarts-theme-token-extractor): Extrai design tokens — cores, números, tamanhos de fonte e strings — de um JSON de tema ECharts e os exporta direto no seu design system. Cole um objeto de tema (o registrado e passado a echarts.init(dom, themeName)) e a ferramenta percorre cada folha, marcando cada cor (com normalização opcional nomeada/rgb → hex), número de espaçamento, tamanho de fonte e string, depois emite variáveis CSS limpas, um config theme.extend do Tailwind, tokens.json do Style Dictionary ou variáveis SCSS. Faz a ponte entre um tema de visualização ECharts e os tokens de design Figma/CSS/Tailwind sem copiar cada valor à mão.
- [De paleta de imagem para design tokens](https://elysiatools.com/pt/tools/image-to-design-tokens): Extrai cores dominantes da imagem por k-means e exporta como variáveis CSS / SCSS / config Tailwind / tokens JSON, com nomes e escala de tons
- [Extrator de Caminhos JSON](https://elysiatools.com/pt/tools/json-path-extractor): Consulta JSON com expressoes no estilo JSONPath ou JMESPath, inspeciona caminhos correspondentes e destaca os valores extraidos no documento original
- [Ferramenta de consulta JSONPath](https://elysiatools.com/pt/tools/jsonpath-query-tool): Consulta qualquer JSON com expressoes JSONPath, visualiza correspondencias, troca o formato de saida e salva modelos reutilizaveis
- [Gerador e Analisador de JWK](https://elysiatools.com/pt/tools/jwk-generator): Gera JSON Web Keys (JWK) para RSA, EC (P-256/P-384/P-521/secp256k1) e OKP (Ed25519/Ed448/X25519/X448), ou analisa um JWK existente para inspecionar parâmetros, impressão e metadados
- [Ponte de PDF (OCR) para JSON estruturado](https://elysiatools.com/pt/tools/ocr-pdf-to-structured-json-bridge): Extrai a camada de texto do PDF com geometria (linhas por posição y, tabelas por vaos de coluna, títulos por tamanho de fonte, pares chave-valor com dois pontos) e preenche campo a campo um JSON Schema do usuário — rótulos pareados por chaves normalizadas, valores coagidos aos tipos declarados e validados com ajv.
- [Explorador de estrutura JSON a partir de PDF](https://elysiatools.com/pt/tools/pdf-to-json-structure-explorer): Extrai a estrutura JSON do OpenDataLoader de um PDF e exibe titulos, paragrafos, tabelas, listas e bounding boxes

## Exemplos

- [Amostras JSON de Terraform Plan](https://elysiatools.com/pt/samples/terraform-plan-json-samples): Arquivos Terraform plan JSON para visualizacao de dependencias e revisao de mudancas, no estilo terraform show -json
- [Exemplos JSON de Chat](https://elysiatools.com/pt/samples/chat-transcript-json): Exemplos JSON para transcricoes de chat multirrole
- [Exemplos de JSON](https://elysiatools.com/pt/samples/json): Exemplos de formato JSON (JavaScript Object Notation) de estruturas simples a complexas
- [Exemplos JSON de Texto Rico](https://elysiatools.com/pt/samples/rich-media-json): Exemplos JSON para editores de texto rico (TipTap, Quill, Slate)
