Build the definition of a tool that an AI model can call, with its name, description and parameters. Export it as plain JSON Schema or in the shapes the common tool-calling APIs and MCP servers expect, and see problems before a model trips over them. It runs in your browser and is free and private.
How to build a tool definition
- Give the Tool name and a clear Description.
- Press Add parameter for each input, and set its name, type, description and whether it is required.
- Press Add another tool for more than one, or Remove this tool to delete one. Start over clears everything.
- Choose the output: JSON Schema, or one of the provider formats, or MCP. Switch on Strict mode (structured outputs) if you need it.
- Press Copy JSON or Download. Copy example arguments gives a sample call.
Already have a definition? Paste it into JSON to import and press Import.
Writing tools models use well
Models pick a tool by reading its name and description, so say plainly what it does and when to use it, for example “Search the help centre. Use when the user asks how to do something in the app.” Describe every parameter, including units and formats, such as “ISO date, YYYY-MM-DD”. Use a fixed list of allowed values whenever the choice is limited, and mark only the fields that are truly needed as required.
How the formats differ
The parameter schema is the same JSON Schema everywhere; what changes is the wrapper. One provider nests it under function.parameters, another calls it input_schema, another lists function declarations, and MCP servers return inputSchema. Strict modes add rules: every property must be listed as required and extra properties must be refused, so optional fields are written as allowing null instead.
What the checks catch
Names that break API rules, such as spaces or more than 64 characters, duplicate tool or parameter names, allowed values that don’t match the type, objects with no properties, and missing descriptions. Errors will stop an API call; warnings are things that tend to make a model choose the wrong tool or fill in the wrong value.
Tips
- Use short, verb-based names such as search_orders or get_weather, with letters, numbers and underscores only.
- Keep the number of tools small. Models choose better from a short list.
- Give each parameter an example in its description when the format is not obvious.
- Test the schema against real answers with the AI answer schema check.
Who uses it
Developers, freelancers building assistants for clients, and students learning how tool calling works. To turn an example JSON object into types for your code, see JSON to types.
Questions
What is strict mode?
It makes the model follow the schema exactly. It needs every property listed as required and extra properties refused.
Is my definition uploaded?
No. It is built in your browser.
Can I edit an existing definition?
Yes. Paste it into the import box, change it, and export again.