tools array, and the model decides when to call each one based on your prompt. This page covers wiring tools in and reading their output. For the full settings of any single tool, follow the link to its reference page.
Three kinds of tools
Enable built-in tools
Add each tool to thetools array by its type. Most built-in tools work with just the type — some accept optional settings (documented on their reference pages).
Connect an MCP server
Instead of hosting each tool yourself, connect a remote Model Context Protocol (MCP) server withtype: mcp. Agent API discovers the server’s tools when the request starts, and the model calls them automatically like the built-in ones — you don’t handle each call yourself. The example below connects to the public DeepWiki MCP server, which needs no authentication.
Add your custom tool
A custom tool (type: function) lets the agent call code you control — your database or an internal API. You declare it with a name, a description, and a JSON Schema for its parameters. The model fills in the arguments — you run the function. This is how the agent reaches data it can’t know on its own — here, an order’s current status in your internal system.
output array contains a function_call item with the name and the arguments the model filled in.
function_call the model emitted, and a function_call_output carrying your result under the same call_id:
call_id is the correlation key: the function_call the model emits and the function_call_output you return must carry the same value. Set strict: true on the custom tool to enforce the parameter schema. You continue the run by replaying the prior items in the input array — pass the function_call and its function_call_output together so the model sees its own request and your result.Read tool results
Built-in tools attach their output to the responseoutput array next to the message item — for example search_results, finance_results, or sandbox_results items, depending on which tool ran. Iterate the array to surface citations, generated files, or computed values. Each tool’s reference page documents its exact result shape — see, for example, Web Search → Response shape.
Next steps
Run code
Give the agent a sandbox to compute exact answers and return files.
Structure the output
Enforce structured JSON your code can parse.