Anthropic Tool Definition Builder

Build Anthropic Claude tool definitions visually. Add input fields with types, descriptions, required flags. Output is a complete tool object ready to pass to client.messages.create({tools: [...]}). Compatible with Claude 3 and Claude 4 line.

Input properties

How to use the Anthropic Tool Definition Builder

Name the tool, describe what it does (Claude uses descriptions heavily to decide when to call which tool — be specific about inputs, behavior, and edge cases), add input properties. The generated schema follows Anthropic's tool-use spec.

How Claude tool definitions work

Tool use (function calling) lets Claude decide to call your code instead of answering directly. Each tool you expose is an object with three parts: a name, a natural-language description, and an input_schema written in JSON Schema that declares the arguments. Claude reads the descriptions of all available tools and picks which to call, so the wording carries real weight — a vague description leads to a tool being called at the wrong time or with the wrong inputs.

Writing the input_schema by hand is the fiddly part: nested JSON Schema, the right type per field, and which properties are required. This builder lets you add fields visually and emits a complete tool object ready to drop into client.messages.create({tools: [...]}) for the Claude 3 and Claude 4 lines.

Common use cases

  • Function calling — define a tool Claude can call to fetch data or trigger an action.
  • Agent tooling — build the schema for each capability an agent exposes to the model.
  • Structured output — use a tool definition to force a specific JSON shape in the reply.
  • Schema iteration — tweak field types and required flags and copy the regenerated object.
  • Learning the spec — see what a valid Anthropic tool object looks like before writing one in code.

Frequently asked questions

What does an Anthropic tool definition contain?

Three fields: name, a description Claude uses to decide when to call it, and an input_schema in JSON Schema describing the arguments and which are required.

Why does the description matter so much?

Claude chooses among tools by reading their descriptions, so a specific one — what the tool does, what each input means, edge cases — leads to correct calls. A vague description causes wrong or missing calls.

How is this different from the OpenAI schema builder?

The shape differs: Anthropic puts the schema under input_schema, while OpenAI nests it in a function object with parameters. For that format use the OpenAI function schema builder.

Which Claude models support tool use?

The Claude 3 family and the newer Claude 4 line all support tools through the Messages API. The object this builder emits works across them.
Embed this tool on your site

Free to embed, no attribution required (but appreciated). Paste this where you want the tool to appear: