Tool Manifest
A tool manifest is the structured description of a tool — its name, what it does, and what arguments it expects — that gets included in a model's context so it knows the tool exists and how to call it.
A model can't call a tool it doesn't know about, and it can't call one correctly without knowing what arguments it needs. A tool manifest is what closes that gap: a structured entry, usually JSON, listing the tool's name, a natural-language description of what it does (and often when to use it), and a schema for its parameters.
The description field matters more than it might seem — since the model is deciding whether a tool is relevant to the current request based on that text, a vague or misleading description leads to the tool being picked at the wrong times, or ignored when it would actually help.
Manifests show up at different scales: a single function definition passed alongside a model API call, or a whole list of tools a server advertises during MCP capability negotiation. Either way, the shape is the same — name, description, parameter schema — because that's what a model needs to decide whether and how to call something.
Example
{
"name": "get_weather",
"description": "Get current weather conditions for a given location.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name, e.g. 'Tokyo'"
}
},
"required": ["location"]
}
}Common misconceptions
FAQ
What is a tool manifest?
Why does the tool description matter so much?
Is a tool manifest the same as an MCP server's tool list?
Last checked: 2026-08-28