Built-in tools
Besides your own function tools, requests will be able to list built-in tools by type name. Some are server tools: Syntic runs them inside the request and the model sees the results without an extra round trip. Others are client tools: standard definitions the models are tuned to use, which your code executes like any function.
Today only function tools ("type": "function") are supported in tools. Built-in tool types listed below are the specified design; until they ship, implement the same behaviour as function tools in your own code.
At a glance
| Tool | type | Runs on | Extra charge | Page |
|---|---|---|---|---|
| Web search | syntic_web_search | Syntic | A per-search fee (see the page), with result text billed as input tokens | Web search |
| Web fetch | syntic_web_fetch | Syntic | None; fetched content is input tokens | Web fetch |
| Code execution | syntic_code_execution | Syntic container | $0.05 per container-hour after 50 free hours a month | Code execution |
| MCP connector | mcp_servers request field | Syntic connects to your MCP servers | None; tool definitions and results are tokens | MCP connector |
| Tool search | syntic_tool_search | Syntic | None | Tool search |
| Computer use | syntic_computer | Your code | Screenshots are image input tokens | Computer and browser use |
| Browser use | syntic_browser | Your code | Screenshots are image input tokens | Computer and browser use |
| Text editor | syntic_text_editor | Your code | None | Text editor, shell and memory |
| Shell | syntic_shell | Your code | None | Text editor, shell and memory |
| Memory | syntic_memory | Your code | None | Text editor, shell and memory |
Server tools and client tools together
A request can mix all three kinds: your functions, server tools and client tools. Server tool calls are resolved inside the request and appear in the response for your records; function and client tool calls come back in tool_calls for your code to run, exactly as today.
Availability per model
Each model lists the server tools it supports in capabilities.server_tools on Get a model. A request that asks for a server tool the model does not support returns 400 naming the tool. Organization administrators can disable a server tool, for example web search, in the Console; requests that use a disabled tool return 403 tool_disabled.
Choosing between a built-in tool and your own
| Use a built-in tool when | Write your own function when |
|---|---|
| The job is generic (search the web, run Python, edit files) | The job touches your systems or data |
| You want Syntic to run it with no extra round trip | You need full control of what runs and where |
| The model’s tuned behaviour with the standard definition matters | You need custom arguments or results |
Related pages
- Tool calling
- Design good tools
- Agents: hosted agents use the same tools.