Agent Tools
This file is the index for every tool an agent can use. For each tool, it points to a dedicated reference file, and — where the tool is also available through a toolbox — lists the toolbox type value.
Two delivery paths exist:
- Prompt agent — the agent definition declares tool classes directly (
CodeInterpreterTool,MCPTool, …). Use the SDK class column and the per-tool reference. - Hosted agent via toolbox — the agent connects to a single MCP endpoint that exposes all tools declared in a toolbox version. Use the
typecolumn and see use-toolbox-in-hosted-agent.md. For wiring the underlying project connection (catalog tile or generic remote MCP), see foundry-tool-catalog.md.
💡 Authoritative tool shapes: the source-of-truth for every tool's wire shape is the Foundry Agents typespec on the
mainbranch ofAzure/azure-rest-api-specs. When in doubt about a field name, default, or new tool type that isn't yet documented here, load the typespec directly — it's updated as tools are added/changed.
Tool Summary
| Tool | Prompt-agent SDK class | Toolbox type | Connection? | Reference |
|---|---|---|---|---|
| Code Interpreter | CodeInterpreterTool | code_interpreter | No | tool-code-interpreter.md |
| Function calling (client-side) | FunctionTool | — (client-side only) | No | tool-function-calling.md |
| File Search | FileSearchTool | file_search | No (vector store required) | tool-file-search.md |
| Web Search (preview) | WebSearchPreviewTool | web_search (with optional web_search.custom_search_configuration for Bing Custom Search) | No (basic Bing); Yes for Grounding with Bing Custom Search — the connection scopes grounding to specific domains | tool-web-search.md |
| Bing Grounding | BingGroundingAgentTool | — (N/A in toolbox; the toolbox path uses web_search with web_search.custom_search_configuration) | Yes (Bing) — prompt-agent path only | tool-bing-grounding.md |
| Azure AI Search | AzureAISearchAgentTool | azure_ai_search | Yes (Search) | tool-azure-ai-search.md |
| MCP server (remote) | MCPTool | mcp | Optional (none / static key / project MI / OAuth) | tool-mcp.md; toolbox attach via foundry-tool-catalog.md |
| OpenAPI tool | (n/a as a single class) | openapi | Conditional — connection auth requires project_connection_id; managed_identity auth does NOT (the project MI is used directly with an audience) | tool-openapi.md |
| Agent-to-Agent (A2A) | (n/a as a single class) | a2a_preview | Optional | tool-a2a.md |
| Agent Memory | MemorySearchTool | — (separate memory store) | Yes (project MI + embedding model) | tool-memory.md |
| Work IQ (preview) | (n/a — server-side only) | work_iq_preview | Yes (Work IQ BYO-Entra-app OAuth connection) | tool-work-iq.md |
| Fabric IQ (preview) | (n/a — server-side only) | fabric_iq_preview | Yes (Fabric IQ Entra-app OAuth or managed-OAuth connection) | tool-fabric-iq.md |
| Tool Search (preview) | (n/a — toolbox-side configuration directive) | toolbox_search_preview | No | tool-tool-search.md |
⚠️ Default for web search: Use
WebSearchPreviewTool(type: web_search) unless the user explicitly requests Bing Grounding or Bing Custom Search.
Combine multiple tools on one agent or one toolbox version. The model decides which to invoke. For multi-tool toolbox limits (at most one unnamed tool per type, unique
server_labelper MCP tool) see toolbox-reference.md.
How to use this index
When you need details for a specific tool, load that tool's reference file directly — each one is self-contained (shape, requirements, references). Don't try to keep all tools in context at once.
For the toolbox runtime contract (endpoint, auth, MCP protocol, citation patterns, troubleshooting) see toolbox-reference.md. For wiring a toolbox into a hosted agent (env vars, samples, tracing) see use-toolbox-in-hosted-agent.md.
Adjacent (not a type in a toolbox version)
- Agent Memory — use the
MemorySearchToolSDK class on prompt agents; for hosted agents, configure the memory store via the project (separate from the toolbox). See tool-memory.md. - Routines (preview) — not a tool; an agent trigger (
schedule/timer/github_issue/custom) that invokes an existing agent. Event-based routines are powered by the same Connector Namespace that backs catalog-MCP / managed-MCP connectors. See the public Routines docs.
References
- Foundry Agents typespec (
main) — authoritative tool shapes - Tool Catalog
- Toolbox (preview)
- use-toolbox-in-hosted-agent.md — wiring a toolbox into a hosted agent
- toolbox-reference.md — toolbox runtime contract
- foundry-tool-catalog.md — project connections for remote tools