Refresh toolbox skills and add Foundry tool catalog (connector) reference#2384
Refresh toolbox skills and add Foundry tool catalog (connector) reference#2384lindazqli wants to merge 10 commits into
Conversation
- toolbox-reference.md: expand troubleshooting (multi-tool constraint, 0 tools, server_label prefix), document Azure AI Search citation pattern, call out scope pitfall, document `TOOLBOX_ENDPOINT` env contract, and add CONSENT_REQUIRED on initialize. - use-toolbox-in-hosted-agent.md: cross-link to the new connector/tool catalog reference; add information-gathering checklist before building toolbox payloads; add tracing pointer. - foundry-tool-catalog.md (new): reference for wiring catalog-backed and generic remote-MCP tools via project connections (gateway_connector / catalog_MCP / generic_mcp; OAuth2 / PMI / CustomKeys / UserEntraToken / BYO-OAuth) and the minimum toolbox attach + verify recipe. - agent-tools.md: add the new reference to the tool summary table and the cross-reference list at the top.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Documentation update expanding Foundry toolbox references with a new tool catalog reference document and additional guidance for hosted agents, multi-tool toolboxes, citation patterns, and tracing.
Changes:
- Added new
foundry-tool-catalog.mdreference covering RemoteTool project connection shapes and an attach-and-verify recipe. - Expanded
toolbox-reference.mdwith env contract, tool naming, multi-tool constraint, Azure AI Search citation pattern, and additional troubleshooting entries. - Added information-gathering, payload examples, declarative
azdconfig, and tracing sections touse-toolbox-in-hosted-agent.md; cross-linked fromagent-tools.md.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| plugin/skills/microsoft-foundry/foundry-agent/create/references/foundry-tool-catalog.md | New reference describing RemoteTool connection shapes and verify recipe. |
| plugin/skills/microsoft-foundry/foundry-agent/create/references/toolbox-reference.md | Adds env contract, tool naming, multi-tool constraint, citation pattern, and troubleshooting rows. |
| plugin/skills/microsoft-foundry/foundry-agent/create/references/use-toolbox-in-hosted-agent.md | Adds gather-info table, payload samples, azd yaml, multi-tool note, and tracing section. |
| plugin/skills/microsoft-foundry/foundry-agent/create/references/agent-tools.md | Adds catalog reference link and toolbox-attached tool row. |
…oolbox `type` The previous Tool Summary only listed prompt-agent SDK classes and omitted Memory (which has its own tool-memory.md), OpenAPI, and A2A (both supported as toolbox `type` values). Rewrite the file as a true index that distinguishes the prompt-agent path from the toolbox path: - Single Tool Summary table now maps each tool to its SDK class AND its toolbox `type`, with connection requirements and reference. - Add inline subsections for OpenAPI and A2A (no dedicated ref files exist yet) with their toolbox payload shapes. - Note that Function Calling is prompt-agent-only (executes client-side, not available via toolbox). - Cross-link to use-toolbox-in-hosted-agent.md and foundry-tool-catalog.md.
- toolbox-reference.md: mark TOOLBOX_ENDPOINT as canonical and
FOUNDRY_TOOLBOX_ENDPOINT as legacy (reviewer comment on line 32).
- use-toolbox-in-hosted-agent.md:
- Align Tool Catalog Docs URL with the `azure/foundry/...` style used
by the Toolbox Docs row (drop `?view=foundry`).
- Add a `params` block (with `securestring`) to the azd YAML example
so `{{ github_pat }}` is actually defined; link to azd schema docs.
- Break Tracing into a short intro + bulleted list (Local / Deployed /
Per-framework instrumentation / Viewing).
- foundry-tool-catalog.md:
- Replace the "(2026-05 snapshot)" date with a `api-version` reference
and pointer to the Cognitive Services projects REST API.
- Fix the PowerShell URI: use `${tb}` instead of the redundant
backtick-before-`?` form.
- Source `$dp` from `FOUNDRY_PROJECT_ENDPOINT` rather than hardcoding
`<account>.services.ai.azure.com`, and call out that the host varies.
- Drop the `?view=foundry` query from the Tool Catalog reference link
for consistency.
|
Addressed all 7 review comments in 3f2a40d:
|
…outines) and refresh toolbox-reference (-32007, OAuth passthrough, naming) agent-tools.md - Add Tool Summary rows for Work IQ (work_iq_preview), Fabric IQ (fabric_iq_preview), Tool Search (toolbox_search_preview), Routines, Memory. - Web Search row: explain Bing Custom Search connection scopes grounding to specific domains. - Bing Grounding row: clarify N/A in toolbox; toolbox path uses web_search with custom_search_configuration. - OpenAPI row: connection=key requires project_connection_id; managed_identity does NOT (uses project MI + audience). - Add inline sections for Work IQ, Fabric IQ, Tool Search, Routines with toolbox shape, requirements, and references to public docs. - Replace all ?view=foundry URLs with /azure/foundry/ canonical form. toolbox-reference.md - Tool naming: align with public doc - only MCP tools get server_label.tool_name prefix; all other types use the entry's name field or the default. - Update OAuth CONSENT_REQUIRED error code to -32007 (was -32006) everywhere. - Add note recommending toolbox token passthrough when hitting OAuth/ARA errors with direct MCP. - Mark TOOLBOX_ENDPOINT canonical because the platform reserves FOUNDRY_-prefixed env vars. - Add Tool Search to valid multi-tool combinations (doesn't count toward unnamed-tool limit).
…namespaces, MI audience, header shapes) and refresh use-toolbox (Tool Search recommendation, comprehensive tool list) foundry-tool-catalog.md - Reframe opening: emphasize the public Tool Catalog API as the source-of-truth for discovery and prepopulating connection fields. - Replace all Logic Apps language with Connector Namespace managed MCP. The gateway_connector flow is now described as connector-namespace-managed (same service that powers Routines event sources). - Document both registries available via Catalog API: public (entityContainerId=connectors-registry-prod-bl) and private tools catalog (tenant-scoped). Always query both. - Add Catalog API field reference: entityId, annotations.name, x-ms-runtime-urls[0], x-ms-capabilities (incl. "triggers"), x-ms-operations[], x-ms-trigger, x-ms-connection-parameters, x-ms-oauth-settings. - Decision-tree updates: BYO OAuth and ProjectManagedIdentity rows can also use metadata.type=catalog_MCP to prepopulate fields. - Add connectorName (top-level + in metadata + in connectionproperties JSON string) and toolEntityId fields to the gateway_connector body. - Add audience to ProjectManagedIdentity metadata, explaining it's required for MI to acquire the right resource token. - CustomKeys: spell out that header NAME and value FORMAT come from the catalog (not "Authorization: Bearer" by default). Show examples of x-api-key / Ocp-Apim / multi-header schemes. - Add full gateway-connector flow: discover, provision OAuth app, PUT, per-user listConsentLinks roundtrip, status polling, attach to toolbox, handle CONSENT_REQUIRED (-32007) at runtime. - Update -32006 to -32007 (CONSENT_REQUIRED code). - Common gotchas: connectionproperties must be JSON string not object; metadata.audience required for MI; CustomKeys header names from catalog. use-toolbox-in-hosted-agent.md - Add prominent Recommendation - enable Tool Search section right after intro, with rationale (flat context cost), behavior, and pinning recipe. - Expand Quick Reference to include Tool Search, Work IQ, Fabric IQ, Routines doc URLs. - Replace inline "Available tool types" bullet with a full table covering mcp, web_search, azure_ai_search, code_interpreter, file_search, openapi, a2a_preview, work_iq_preview, fabric_iq_preview, toolbox_search_preview, plus adjacent notes for Memory and Routines. - Add new sample payload: large toolbox with Tool Search and tool_configs pinning. - Inputs-to-gather table: add "Many tools planned?" question; note env var should not use FOUNDRY_ prefix. - Code Integration Patterns notes: add tool-naming rule (server_label prefix only for MCP-sourced) and Tool Search exemption from multi-tool limit. - Azure.yaml sample includes toolbox_search_preview directive.
|
Pushed two commits addressing all 19 review comments plus integrating the 5 new content sources you referenced (Fabric IQ #12201, Tool Search #12202, Work IQ #12200, Routines #12257, connector namespaces / managed MCP). Commits
|
Routines aren't a tool - they're an agent trigger - so they don't belong in the agent tools index. Removed: - Routines row from the Tool Summary table - Inline Routines (preview) section - Routines link from the References list
…talog - Add Logic Apps managedApis GET + identityProvider→URL mapping table - Add apiOperations endpoint + inputsDefinition→agentParameters mapping - Correct gateway_connector target: https://placeholder on PUT microsoft#1, rewritten on PUT microsoft#2 - Add full register-actions (PUT microsoft#2) shape with mcpserverConfigProperties schema - Expand consent: verbatim body, ~1h TTL, portal popup lifecycle pending-true path - Document dogfood OAuth-app trap (global-test.consent host) - Add tool naming pattern <label>___<connector>_<op> + Box and Outlook verified examples - Expand PMI section with forwarder limitations (query-string drop, audience mint, -32007) - Add RBAC preflight snippet - Expand pitfalls (scopes array, BYO + catalog_MCP conflict, githubcopilot.com BYO rejection, asset-gallery thin index) - Drop dangling Routines anchor in References (routines section was removed from agent-tools)
57c2d5f to
47f0c08
Compare
…toolbox CLI examples
…e --default-version'
- Fix command name: 'azd ai agent connection create' (not 'azd ai connection create') - Fix flag names: --auth-type custom-keys and --custom-key (singular) - Replace single example with 5 validated kind x auth-type combos - Drop unvalidated mention of 'toolbox connection add/remove'
Summary
Refresh the toolbox reference skills in
plugin/skills/microsoft-foundry/foundry-agent/create/references/based on recent learnings from the toolbox/MCP integration work inmicrosoft/hosted-agents-vnext-private-previewand the Foundry tool-catalog connector work, and add a new reference for wiring catalog-backed / generic remote-MCP tools via project connections.Files
toolbox-reference.md— updatedTOOLBOX_ENDPOINTenv contract (latest vs. pinned version)https://ai.azure.com/.default, notcognitiveservices)CONSENT_REQUIRED(-32006) can surface oninitializetoo, not justtools/call400 invalid_payload: Multiple tools without identifiers found)result.structuredContent.documents[]){server_label}.{tool_name}for MCP-sourced tools)api-version, 403 on POST)use-toolbox-in-hosted-agent.md— updatedfoundry-tool-catalog.mdazdpath viaazure.yamlAPPLICATIONINSIGHTS_CONNECTION_STRING)foundry-tool-catalog.md— newtool-mcp.md(toolbox-attached vs. prompt-agent)authType+metadata.typeOAuth2+gateway_connector(Custom · Preview tiles),OAuth2+catalog_MCP(Microsoft-managed OAuth), BYO OAuth App,ProjectManagedIdentity+generic_mcp,CustomKeys+generic_mcp,UserEntraToken+generic_mcpPOST versions→PATCH default_version→tools/list→tools/call)default_version,targetrequired,ApiKeyrejected, per-user OAuth consent, network-secured Foundry limits)agent-tools.md— updatedNotes
tool-mcp.mdis intentionally not modified — it covers the prompt-agent path; the new file covers the toolbox-attached connector path.