Built-in Provider Tools#
AG2 includes built-in tools that map to server-side capabilities offered by LLM providers. These tools are executed by the provider's API — not locally — and require no function implementation on your side.
| Tool | Anthropic | OpenAI | Gemini | xAI | Z.AI |
|---|---|---|---|---|---|
CodeExecutionTool | ✓ | ✓ | ✓ | ✓ | ✗ |
WebSearchTool | ✓ | ✓ | ✓ | ✓ | ✓ |
WebFetchTool | ✓ | ✗ | ✓ | ✗ | ✗ |
ShellTool | ✓ | ✓ | ✗ | ✗ | ✗ |
MCPServerTool | ✓ | ✓ | ✗ | ✓ | ✗ |
ImageGenerationTool | ✗ | ✓ | ✗ | ✗ | ✗ |
MemoryTool | ✓ | ✗ | ✗ | ✗ | ✗ |
XSearchTool | ✗ | ✗ | ✗ | ✓ | ✗ |
RetrievalTool | ✗ | ✗ | ✗ | ✗ | ✓ |
Web Search#
Gives the model access to real-time web search results.
Not all parameters are supported by every provider. Unsupported parameters are silently ignored.
| Parameter | Anthropic | OpenAI | Gemini | xAI | Z.AI |
|---|---|---|---|---|---|
max_uses | ✓ | ✓ | ✗ | ✗ | ✗ |
user_location | ✓ | ✓ | ✗ | ✓ | ✗ |
search_context_size | ✗ | ✓ | ✗ | ✗ | ✓ |
allowed_domains | ✓ | ✓ | ✗ | ✓ | ✗ |
blocked_domains | ✓ | ✗ | ✓ | ✓ | ✗ |
Note
Z.AI maps WebSearchTool to its search-prime engine and only honors search_context_size (as content_size); the other parameters are silently ignored.
Web Fetch#
Fetches full content from specific URLs. Useful for reading documentation, articles, or PDFs.
| Parameter | Anthropic | Gemini |
|---|---|---|
max_uses | ✓ | ✗ |
allowed_domains | ✓ | ✗ |
blocked_domains | ✓ | ✗ |
citations | ✓ | ✗ |
max_content_tokens | ✓ | ✗ |
Note
OpenAI does not support web fetch. Using WebFetchTool with an OpenAI config will raise an error.
Code Execution#
Lets the model write and run code inline during a conversation.
The tool accepts a version parameter for provider version pinning:
Memory#
Enables Claude to store and retrieve information across conversations. Claude can create, read, update, and delete files in a /memories directory.
Note
MemoryTool is currently only supported by Anthropic.
Shell#
Gives the model the ability to run shell commands. The execution environment depends on the provider.
OpenAI supports configuring the execution environment:
| Environment | Description |
|---|---|
ContainerAutoEnvironment | Provider-managed container with optional network policy |
ContainerReferenceEnvironment | Reference an existing container by ID |
Warning
ShellTool gives the model direct shell access. Use it only with trusted prompts and consider restricting the environment.
MCP Server#
Integrates external MCP (Model Context Protocol) servers, giving the model access to remote tools.
| Parameter | Anthropic | OpenAI |
|---|---|---|
server_url | ✓ | ✓ |
server_label | ✓ | ✓ |
authorization_token | ✓ | ✗ |
description | ✓ | ✗ |
allowed_tools | ✓ | ✓ |
blocked_tools | ✓ | ✗ |
headers | ✗ | ✓ |
Image Generation#
ImageGenerationTool instructs the model to generate images inline during a conversation. Generated images are returned via reply.files.
Note
ImageGenerationTool is only supported by OpenAI (Responses API). Gemini generates images through a response modality rather than a tool. See Image Generation for the full guide covering both providers.
X Search#
XSearchTool gives xAI's Grok models real-time search over X (Twitter), optionally scoped to specific handles, a date range, or media understanding. This tool is xAI-specific.
| Parameter | Description |
|---|---|
allowed_x_handles | Restrict the search to these X handles. |
excluded_x_handles | Exclude these X handles from results. |
from_date / to_date | Bound the search to a datetime range. |
enable_image_understanding | Let the model interpret images in posts. |
enable_video_understanding | Let the model interpret videos in posts. |
Note
XSearchTool is only supported by xAI.
Retrieval#
RetrievalTool lets the model query a Z.AI knowledge base by id, grounding its answers in the retrieved documents.
| Parameter | Description |
|---|---|
knowledge_id | Required. Id of the Z.AI knowledge base to query. |
prompt_template | Optional template for injecting retrieved content, using {{ knowledge }} and {{ question }} placeholders. |
Note
RetrievalTool is only supported by Z.AI.
Anthropic Tool Versions#
Anthropic versions their server-side tools. Newer versions support dynamic filtering (Claude writes code to filter results before loading into context), but require Opus 4.6 or Sonnet 4.6.
Set the version on each built-in tool (defaults match the older Anthropic tool revisions):
The default versions are compatible with all Claude models including Haiku.