Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ag2ai avatar

Ag2 Use Builtin Tools

  • 34 installs
  • 8 repo stars
  • Updated July 27, 2026
  • ag2ai/ag2-skills

ag2-use-builtin-tools is a Claude Code skill that wires AG2 beta's shipped provider-native and local tools into an Agent instead of writing custom Python.

About

This skill shows how to wire AG2 beta's shipped tools into an Agent rather than writing custom Python. It covers provider-native server-side tools such as web search, web fetch, code execution, MCP server integration, and image generation, plus locally executed toolkits like FilesystemToolkit, DuckDuckGo, Exa, and Tavily search. A developer uses it to add ready-made capabilities to an agent and to check per-tool provider support before wiring.

  • Wire AG2 beta's shipped tools into an Agent instead of writing custom Python
  • Covers provider-native tools (web search, web fetch, code execution, MCP, image generation) and local toolkits (filesyst
  • Includes a per-tool provider-support matrix and version-pinning guidance

Ag2 Use Builtin Tools by the numbers

  • 34 all-time installs (skills.sh)
  • Ranked #8,855 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 1, 2026 (Skillselion catalog sync)
At a glance

ag2-use-builtin-tools capabilities & compatibility

Free skill; some tools need provider or third-party API keys (e.g. EXA_API_KEY, TAVILY_API_KEY) plus an LLM key.

Capabilities
tool integration · web search · code execution · mcp integration · filesystem access
Use cases
web search · web scraping · image generation
Pricing
Bring your own API key
From the docs

What ag2-use-builtin-tools says it does

Wire AG2 beta's shipped tools into an `Agent` — both provider-native server-side tools (web search, web fetch, code execution, MCP, image generation, memory) and locally-executed common toolkits
SKILL.md
`base_path` is enforced — `../../etc/passwd` raises `PermissionError`.
SKILL.md
npx skills add https://github.com/ag2ai/ag2-skills --skill ag2-use-builtin-tools

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs34
repo stars8
Last updatedJuly 27, 2026
Repositoryag2ai/ag2-skills

What it does

Add AG2 beta's built-in web-search, code-execution, MCP, filesystem, or third-party search tools to an Agent.

Who is it for?

Developers adding ready-made web-search, code-execution, MCP, filesystem, or third-party search capabilities to an AG2 agent.

Skip if: Shell commands (use ag2-shell-tool) or custom Python tools (use ag2-add-custom-tool).

When should I use this skill?

The user wants a capability AG2 already ships rather than writing custom Python.

What you get

The agent gains built-in tools like web search, code execution, MCP, and filesystem access with correct provider pinning.

  • AG2 Agent wired with built-in provider-native and local tools

By the numbers

  • references/builtin_tools_matrix.md documents per-tool provider support

Files

SKILL.mdMarkdownGitHub ↗

Use AG2 beta's built-in tools

When to use

Reach for this skill when the user wants to add a capability that AG2 already ships. Two families:

1. Provider-native tools (autogen.beta.toolsWebSearchTool, CodeExecutionTool, etc.) — executed server-side by Anthropic / OpenAI / Gemini. No Python implementation on your side. 2. Common toolkits (autogen.beta.toolsFilesystemToolkit, DuckDuckSearchTool, TavilySearchTool, SkillsToolkit; plus ExaToolkit from autogen.beta.extensions.tools.search) — regular Python that runs in your process and works with every provider.

For shell commands, use ag2-shell-tool (it's important enough to live in its own skill). For custom Python tools, use ag2-add-custom-tool.

60-second recipes

Web search (provider-native)

from autogen.beta import Agent
from autogen.beta.config import AnthropicConfig
from autogen.beta.tools import WebSearchTool, UserLocation

agent = Agent(
    "researcher",
    config=AnthropicConfig(model="claude-sonnet-4-6"),
    tools=[
        WebSearchTool(
            max_uses=5,
            user_location=UserLocation(country="US"),
            allowed_domains=["github.com", "pypi.org"],
            blocked_domains=["pinterest.com"],
        ),
    ],
)

Web fetch (Anthropic / Gemini only)

from autogen.beta.tools import WebFetchTool

tools = [WebFetchTool(max_uses=3, max_content_tokens=50000, citations=True)]

Code execution

from autogen.beta.tools import CodeExecutionTool

agent = Agent("analyst", config=config, tools=[CodeExecutionTool()])

MCP server integration

from autogen.beta.tools import MCPServerTool

tools = [
    MCPServerTool(
        server_url="https://mcp.example.com/sse",
        server_label="my-tools",
        allowed_tools=["search", "summarize"],
    ),
]

Image generation (OpenAI Responses only)

from autogen.beta.config import OpenAIResponsesConfig
from autogen.beta.tools import ImageGenerationTool

agent = Agent(
    "designer",
    config=OpenAIResponsesConfig(model="gpt-4.1"),
    tools=[ImageGenerationTool(quality="high", size="1024x1024", output_format="png")],
)
reply = await agent.ask("Generate a logo for a coffee shop.")
images = reply.files  # list[BinaryResult]

Filesystem (sandboxed, any provider)

from autogen.beta.tools import FilesystemToolkit

fs = FilesystemToolkit(base_path="/tmp/workspace")
agent = Agent("worker", config=config, tools=[fs])

base_path is enforced — ../../etc/passwd raises PermissionError. Use read_only=True to expose only read_file and find_files. For ephemeral workspaces use tempfile.TemporaryDirectory() rather than hardcoding /tmp.

Web search via DuckDuckGo (no API key)

from autogen.beta.tools import DuckDuckSearchTool
# requires: pip install ag2[ddgs]

tools = [DuckDuckSearchTool(max_results=10, region="us-en", safesearch="moderate")]

Exa neural search

import os
from autogen.beta.extensions.tools.search import ExaToolkit
# requires: pip install "exa-py>=2.12.1,<3"  (no ag2[exa] extra — install the package directly)

tools = [ExaToolkit(api_key=os.environ["EXA_API_KEY"])]

Each tool is exposed as a factory method (exa.search(), exa.find_similar(), exa.get_contents(), exa.answer()) so you can pass only what you need with per-call config.

Tavily search

import os
from autogen.beta.tools import TavilySearchTool
# requires: pip install ag2[tavily]

tools = [TavilySearchTool(
    api_key=os.environ["TAVILY_API_KEY"],
    search_depth="advanced",
    include_answer=True,
)]

Going deeper

  • Per-tool provider support, every parameter, version pinningreferences/builtin_tools_matrix.md.
  • Source docswebsite/docs/beta/tools/builtin_tools.mdx (provider-native), website/docs/beta/tools/common_toolkits.mdx (common toolkits — also covers SkillsToolkit and SkillSearchToolkit).
  • Toolkits authoringwebsite/docs/beta/tools/toolkits.mdx.

Common pitfalls

  • Mismatch between tool and providerWebFetchTool raises with OpenAI; MemoryTool is Anthropic-only; ImageGenerationTool is OpenAI Responses only. Check references/builtin_tools_matrix.md first.
  • Anthropic tool versions default to older revisions — pin version="web_search_20260209" etc. when you need dynamic filtering on Opus 4.6 / Sonnet 4.6.
  • `FilesystemToolkit` paths are sandboxed — by design. Don't try to bypass the path-traversal guard; choose a wider base_path instead.
  • Toolkits and individual tools mix freelytools=[fs, exa, my_custom_tool] is fine.
  • Optional dependency missingDuckDuckSearchTool (ag2[ddgs]) and TavilySearchTool (ag2[tavily]) need their ag2[<extra>] install; ExaToolkit is a beta extension with no `ag2` extra — install its package directly (pip install "exa-py>=2.12.1,<3"). Without the dependency you get a clear ImportError from the config-fallback layer, not a confusing crash. Install before delivering the code. If you cannot run commands, state the exact pip install command.

Related skills

FAQ

What tool families does AG2 ship?

Provider-native tools executed server-side (web search, web fetch, code execution, MCP, image generation, memory) and local common toolkits that run in your process (filesystem, DuckDuckGo, Exa, Tavily, skills).

Why does my WebFetchTool fail on OpenAI?

WebFetchTool is Anthropic/Gemini only, MemoryTool is Anthropic-only, and ImageGenerationTool is OpenAI Responses only; check the built-in tools matrix before wiring a tool to a provider.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.