Tool Definition
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
- requires function-calling (Tool definitions are passed to function calling APIs)
- requires tool-use (Definitions enable tool use)
- overlapsWith json-schema (Definitions use JSON Schema for parameters)
- overlapsWith model-context-protocol (MCP standardizes tool definitions)
Implementations
Tools and frameworks that implement this concept:
- MCP Servers primary