Supported provider tools
When to use a provider tool
Use a provider tool in these conditions:- You need a built-in capability that the provider hosts, for example search, retrieval, code execution, or computer control.
- You have a production span that uses a vendor tool, and you want Phoenix to round-trip the exact payload into the Playground.
- You accept that the prompt version works with one provider only. The JSON shape is specific to the provider. Thus Phoenix removes provider tools automatically when you change the provider or API type.
Adding a provider tool in the Playground
- Open the Playground and select a model that supports the tool: Anthropic Claude, an OpenAI Responses-compatible model, Gemini, or Amazon Nova.
- Click Add tool to open the JSON editor.
- Paste the provider tool payload from the applicable provider section below.
- Save the tool.
- Save the prompt version.
“Open in Playground” on a captured trace keeps provider tools exactly as Phoenix sent them to the model. Use it to replay a production call and change it.
Anthropic — built-in tools
Source of truth: the Anthropic tool reference and the tool pages linked below. The JSON shapes on this page are the same as in those docs. When Anthropic releases a new version, copy the exact payload from the Anthropic page.
type-string versioning rules, see the Anthropic tool reference.
Server tools (Anthropic executes them):
web_search_20250305/web_search_20260209: live web results with citations. The newer version adds dynamic filtering. Docs.web_fetch_20250910/web_fetch_20260209: gets a specific URL and returns its content. Docs.code_execution_20250825/code_execution_20260120: sandboxed Python and Bash with file operations. The newer version supports programmatic tool calling. Docs.tool_search_tool_regex_20251119/tool_search_tool_bm25_20251119: defers tool loading. Claude finds tools from a larger catalog at runtime. This is the Anthropic equivalent of OpenAItool_search. Docs.
bash_20250124: shell command execution. Docs.text_editor_20250124/text_editor_20250728: file editing. Select the version that matches your model generation. Docs.computer_20250124/computer_20251124: screen control through screenshots and actions. Requires a beta header. Docs.memory_20250818: persistent memory store for long-running agents. Docs.
max_uses, allowed_domains, blocked_domains, and user_location.

Editing an Anthropic bash tool in the Phoenix Playground.
The Anthropic
tool_search_tool_* uses the defer_loading: true flag on individual tool definitions, as OpenAI tool_search does. For prompt-cache interactions, see the Anthropic tool search guide.OpenAI Responses API — built-in tools
Source of truth: the OpenAI tools guide and the tool pages linked below. Phoenix only round-trips the JSON. For current fields and model support, refer to the OpenAI docs.
tools array.
web_search: internet search with citations. Docs.file_search: semantic and keyword retrieval over files in a vector store. Docs.code_interpreter: sandboxed Python execution for analysis, charts, and math. Docs.computer: UI control through screenshots and actions. Docs.tool_search: defers tool loading. The model searches a larger catalog at runtime. Docs.
Deferred tool search
Usetool_search to attach a large catalog of function tools to a prompt. You do not pay for all of their schemas on each request. Mark each tool to hold back with "defer_loading": true. The model then sends a tool_search call to load only the applicable tools into context. It adds the loaded tools at the end, so the prefix cache stays valid. tool_search is available on gpt-5.4 and later Responses-capable models.
Select one of the two execution modes:
- Hosted (default): OpenAI matches deferred tools on the server and returns the loaded tools automatically. Add the tool with no other fields:
- Client: the model sends a
tool_search_call, and your application returns atool_search_outputwith the matching tools. Use this mode if your tool catalog is outside OpenAI, for example in an internal registry or an MCP server:
defer_loading on its definition. Phoenix keeps the field without changes when it round-trips the prompt:
For the largest token savings, put deferred tools into namespaces or serve them from MCP servers. When a search result is in a namespace, OpenAI loads all the tools in that namespace.
Google Gemini — Google Search grounding
Source of truth: the Google Grounding with Google Search page. Phoenix sends the tool block without changes.
groundingMetadata with citations. Use the google_search tool on current Gemini models. Use the legacy google_search_retrieval only for older Gemini 1.x models.
Amazon Bedrock — Nova web grounding
Source of truth: the AWS Nova Web Grounding page. Bedrock requires the
systemTool wrapper. Phoenix does not add or remove it.systemTool wrapper, not in the usual toolSpec.

Editing a Nova grounding tool in the Phoenix Playground.
us-east-1, us-east-2, and us-west-2. For capabilities and billing, see the AWS announcement.
Pulling and using a prompt with provider tools
The Phoenix client libraries send provider tools to the target SDK without changes.- Pull the prompt as usual.
- Send the formatted parameters to the provider client.
- Python
- TypeScript
Limitations
- Phoenix removes provider tools when you change the provider or API type on a prompt version. Phoenix keeps function tools.
- You cannot use provider tools on evaluator prompts. Evaluators use the normalized function-tool output schema.
- Phoenix only checks that the payload is a non-empty JSON object. The provider checks semantic validity, for example model support, regional availability, and required fields.

