BuildBuilt-in tools

Built-in tools

⚠️
Preview — this feature is being built; the design below is the spec.

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

TooltypeRuns onExtra chargePage
Web searchsyntic_web_searchSynticA per-search fee (see the page), with result text billed as input tokensWeb search
Web fetchsyntic_web_fetchSynticNone; fetched content is input tokensWeb fetch
Code executionsyntic_code_executionSyntic container$0.05 per container-hour after 50 free hours a monthCode execution
MCP connectormcp_servers request fieldSyntic connects to your MCP serversNone; tool definitions and results are tokensMCP connector
Tool searchsyntic_tool_searchSynticNoneTool search
Computer usesyntic_computerYour codeScreenshots are image input tokensComputer and browser use
Browser usesyntic_browserYour codeScreenshots are image input tokensComputer and browser use
Text editorsyntic_text_editorYour codeNoneText editor, shell and memory
Shellsyntic_shellYour codeNoneText editor, shell and memory
Memorysyntic_memoryYour codeNoneText 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 whenWrite 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 tripYou need full control of what runs and where
The model’s tuned behaviour with the standard definition mattersYou need custom arguments or results
Was this page helpful?