DEVELOPER TOOL

AI Tool Schema Builder

Build nested JSON tool schemas for OpenAI, Anthropic and Gemini locally.

Runs locallyRuns locally in your browser. Your data is not uploaded.

Build a tool definition locally. Up to 40 properties/item schemas and four levels. Changing a type clears its previous enum and children.

Define your tool

Parameters 0 / 40 nodes

No parameters yet. A tool with no arguments is valid.

JSON output

A JSON Schema 2020-12 parameters object, with the tool name as title. Additional properties remain allowed.

Format documentation · Adapters reviewed 2026-10-09

Define the tool and generate its JSON.

No API call is made. Descriptions and property names are inert data. This focused schema subset supports primitives, objects, arrays, required properties and primitive enums; it does not import arbitrary schemas or guarantee a provider will accept every model/endpoint combination.

Enable JavaScript to build locally. No server submission is available.

DESCRIBE A CONTRACT

Build the definition. Keep execution in your app.

Give your function a clear name and description, then add its parameters. Mark required properties explicitly. Objects can contain nested properties and arrays have one item schema. Generate JSON and choose an output adapter without rebuilding the form.

Start with a small, clear schema.

For a weather lookup, add a required string named city and an optional number named days. String enums use a JSON array such as ["celsius", "fahrenheit"]. Numeric and boolean enums must contain values of the selected type.

Schema formats and limits.

Which provider formats are available?

Generic JSON Schema 2020-12, an OpenAI Responses function tool, an Anthropic Messages tool, and a Gemini Interactions function. Each output is one definition, not an entire request. See the selected adapter’s documentation link for its destination.

Why is OpenAI strict mode off?

Strict mode requires every property to be required. This builder preserves the difference between optional and required fields by explicitly emitting strict: false, rather than changing optional fields to required nullable fields. Validate model-generated arguments in your application.

What is supported?

Six types, descriptions, required properties and primitive enums. Up to 40 nodes, four levels including array items, 1,000 characters per description and 20 enum values. Additional object properties remain allowed. Unions, references, arbitrary imported schemas and bidirectional JSON editing are outside this builder.

Does this call a model or execute a function?

No. It only produces inert JSON in browser memory. Copy is explicit, and leaving or resetting clears the workspace. Provider acceptance and model behavior still require validation in your own application.

Find a tool or category

Tools & categories12 results