Tool Definition

Artifact tools published

Also known as: Tool Schema, Function Definition, Tool Specification

Definition

A structured description of a tool that tells an LLM what the tool does, what inputs it accepts, and what outputs it produces. Tool definitions typically include: name, description (natural language), parameter schema (JSON Schema), and sometimes examples. The quality of the definition determines how well the model can use the tool.

What this is NOT

  • Not the tool implementation (definition describes; implementation executes)
  • Not the tool result (definition is input; result is output)
  • Not a prompt (definitions are structured, not natural language conversation)

Alternative Interpretations

Different communities use this term differently:

llm-practitioners

A JSON object passed to the API that describes a callable function, including its name, description, and parameters schema. The model uses this to understand when and how to call the function.

Sources: OpenAI Function Calling documentation, Anthropic Tool Use documentation, JSON Schema specification

Examples

  • { "name": "get_weather", "description": "Get current weather for a location", "parameters": { "type": "object", "properties": { "location": {"type": "string", "description": "City name"}, "units": {"type": "string", "enum": ["celsius", "fahrenheit"]} }, "required": ["location"] } }
  • MCP tool definition with inputSchema and annotations
  • Anthropic tool definition with detailed description and examples

Counterexamples

Things that might seem like Tool Definition but are not:

  • The actual weather API endpoint (that's implementation)
  • The JSON result from calling the weather API (that's tool result)
  • A prompt asking the model to call a function (that's prompting)

Relations

Implementations

Tools and frameworks that implement this concept: