Tool Schema
A tool schema is the structured definition of a tool an AI model can call: its name, a natural-language description, and a JSON Schema for its input parameters, optionally with an output schema.

The name, description and JSON Schema parameters that tell an LLM what a tool does and how to call it, used by MCP, OpenAI function calling and Claude tool use.
Key Points
- ✓A tool schema defines a callable tool with a name, a description the model reads to choose it, and a JSON Schema for its input parameters
- ✓In MCP a tool has name, optional title, description, inputSchema, optional outputSchema and optional annotations, and is listed via tools/list and invoked via tools/call
- ✓OpenAI calls the parameter schema parameters and offers a strict mode; Anthropic calls it input_schema and supports optional input_examples
- ✓Tool schemas are sent with every request, so they consume context window and are billed as input tokens
- ✓Detailed descriptions, clear parameter names, namespacing and server-side validation make tool calls more reliable
- ✓A tool schema is unrelated to Schema.org SEO markup; it describes actions an agent can take, not web page content
A tool schema is the machine-readable definition of a tool that an AI model is allowed to call. It gives the tool a name, describes in plain language what the tool does and when to use it, and specifies the arguments it accepts as a JSON Schema 4. The model reads these schemas to decide whether a tool fits the user's request and to produce a call with correctly structured arguments. The application, not the model, then runs the tool. Tool schemas are the foundation of tool use and function calling and of tools exposed through the Model Context Protocol.
The parts of a tool schema
The field names differ slightly between platforms, but every tool schema carries the same core information. In the MCP specification a tool definition includes 1:
name: a unique identifier, such asget_weathertitle(optional): a human-readable display namedescription: what the tool does, in words the model uses to choose itinputSchema: a JSON Schema describing the expected parameters, their types and which are requiredoutputSchema(optional): a JSON Schema for structured results; when present, servers must return results that conform to itannotations(optional): hints about behavior, which clients must treat as untrusted unless the server is trusted
A minimal MCP tool definition, taken from the specification, looks like this 1:
{
"name": "get_weather",
"description": "Get current weather information for a location",
"inputSchema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name or zip code"
}
},
"required": ["location"]
}
}How major platforms define tools
- Model Context Protocol: servers list their tools in response to a
tools/listrequest, and clients invoke them withtools/call, passing arguments that matchinputSchema. If no$schemais given, the schema defaults to JSON Schema 2020-12, and tool names should be 1 to 128 characters of letters, digits, underscores, hyphens and dots 1. - OpenAI function calling: a function tool has
type: "function", aname, adescription, aparametersJSON Schema and astrictflag. With strict mode on, every object must setadditionalProperties: falseand every field inpropertiesmust be listed as required 2. - Anthropic tool use: a tool has a
namematching^[a-zA-Z0-9_-]{1,128}$, adescriptionand aninput_schema, with optionalinput_examples. Claude returns atool_useblock that the application executes before sending back atool_result3.
How a tool call uses the schema
- The application sends the user's message together with the available tool schemas.
- The model decides whether a tool is needed and returns a call naming the tool, with arguments shaped by its schema.
- The application validates the arguments and runs the tool.
- The result goes back to the model, which answers or calls another tool 2.
Tool schemas are sent with every request, so they use up part of the model's context window and are billed as input tokens 2. Large tool sets therefore have a real cost.
Writing tool schemas that models use well
- Write detailed descriptions. Anthropic calls this "by far the most important factor in tool performance" and suggests at least 3 to 4 sentences covering what the tool does, when to use it and what it does not return 3.
- Use unambiguous parameter names, for example
user_idinstead ofuser5. - Namespace related tools with a service prefix so the model can tell similar tools apart as the list grows 3 5.
- Keep the set small and non-overlapping, and return concise, meaningful results rather than raw internal IDs 5.
- Validate on the server anyway. The MCP specification requires servers to validate all tool inputs and recommends that clients ask for user confirmation on sensitive operations 1.
Tool schema is not schema markup
The term is sometimes confused with Schema.org structured data, the JSON-LD markup websites add for search engines. A tool schema describes an action an AI agent can take; Schema.org markup describes a web page. Tool schemas use JSON Schema 4. Tool schemas are also distinct from structured outputs, which constrain the model's own reply to a schema rather than describing a callable tool.
Tool schemas in social media publishing
An MCP server for a publishing product is essentially a set of tool schemas. Publora, a social media scheduler and publishing API, exposes an MCP server with 18 tools across 10 platforms, for example a post-creation tool whose schema asks for the post content, the target platform IDs and an optional scheduled time 6. Clear descriptions and required fields let an agent schedule a post correctly instead of guessing.
Publora and Tool Schema
The Publora API and MCP server publish and schedule posts to 10 networks from your own code or from AI assistants like Claude, ChatGPT and Cursor.
See the Publora API →