Skip to content

Commit 0b73d35

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-ai-docs-pr into mrb_07_08_2025_fine_tuning_cost_management
2 parents f4ebd9c + 5440bdc commit 0b73d35

20 files changed

+885
-122
lines changed

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,12 @@
188188
"branch": "main",
189189
"branch_mapping": {}
190190
},
191+
{
192+
"path_to_root": "azure-search-dotnet-samples",
193+
"url": "https://github.com/Azure-Samples/azure-search-dotnet-samples",
194+
"branch": "main",
195+
"branch_mapping": {}
196+
},
191197
{
192198
"path_to_root": "azureai-model-inference-bicep",
193199
"url": "https://github.com/Azure-Samples/azureai-model-inference-bicep",

articles/ai-foundry/agents/how-to/tools/deep-research.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ The deep research tool is tightly integrated with Grounding with Bing Search and
3737

3838
## Region support
3939
The Deep Research tool is supported in the following regions where the deep research model is available for deployment.
40+
4041
|West US | Norway East |
4142
|---------|---------|
4243
| ✔️ | ✔️ |

articles/ai-foundry/agents/how-to/tools/model-context-protocol-samples.md

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ms.custom: azure-ai-agents-code
1717

1818
Use this article to find step-by-step instructions and code samples for connecting Foundry Agent service with MCP.
1919

20-
Follow the [REST API Quickstart](../../quickstart.md?pivots=rest-api#api-call-information) to set the right values for the environment variables `AGENT_TOKEN`, `AZURE_AI_FOUNDRY_PROJECT_ENDPOINT` and `API_VERSION`.
20+
Follow the [REST API Quickstart](../../quickstart.md?pivots=rest-api#api-call-information) to set the right values for the environment variables `AGENT_TOKEN`, `AZURE_AI_FOUNDRY_PROJECT_ENDPOINT`, and `API_VERSION`.
2121

2222

2323
## Create an Agent with the MCP tool enabled
@@ -35,7 +35,7 @@ curl --request POST \
3535
"type": "mcp",
3636
"server_label": "<unique name for your MCP server>",
3737
"server_url": "<your MCP server url>",
38-
"require_approval": "never",
38+
"allowed_tools": ["<tool_name>"], # optional
3939
}
4040
],
4141
"name": "my-assistant",
@@ -68,7 +68,13 @@ curl --request POST \
6868

6969
## Create a run and check the output
7070

71-
Create a run to pass headers for the tool and observe that the model uses the Grounding with Bing Search tool to provide a response to the user's question.
71+
Create a run to pass headers for the tool and observe that the model uses the Grounding with Bing Search tool to provide a response to the user's question.
72+
`require_approval` parameter is optional. If not provided, `always` is the default value, meaning each time developer needs to approve before calling. Supported values:
73+
74+
- `always` by default
75+
- `never` meaning no approval is required
76+
- `{"never":[<tool_name_1>, <tool_name_2>]}` you can also provide a list of tools without required approval
77+
- `{"always":[<tool_name_1>, <tool_name_2>]}` you can provide a list of tools with required approval
7278

7379
```bash
7480
curl --request POST \
@@ -81,9 +87,11 @@ curl --request POST \
8187
"mcp": [
8288
{
8389
"server_label": "<the same unique name you provided during agent creation>",
90+
"require_approval": "always" #always by default
8491
"headers": {
8592
"Authorization": "Bearer <token>",
8693
}
94+
8795
}
8896
]
8997
},
@@ -97,6 +105,62 @@ curl --request GET \
97105
-H "Authorization: Bearer $AGENT_TOKEN"
98106
```
99107

108+
If the model is trying to invoke a tool in your MCP server with approval required, you get a run with `require_action` status.
109+
```bash
110+
{
111+
"id": "run_123",
112+
"object": "thread.run",
113+
...
114+
"status": "requires_action",
115+
...
116+
"required_action": {
117+
"type": "submit_tool_approval",
118+
"submit_tool_approval": {
119+
"tool_calls": [
120+
{
121+
"id": "call_123",
122+
"type": "mcp",
123+
"arguments": "{...}",
124+
"name": "<tool_name>",
125+
"server_label": "<server_label_you_provided>"
126+
}
127+
]
128+
}
129+
},
130+
...
131+
"tools": [
132+
{
133+
"type": "mcp",
134+
"server_label": "<server_label_you_provided>",
135+
"server_url": "<server_url_you_provided>",
136+
"allowed_tools": null
137+
}
138+
],
139+
...
140+
}
141+
```
142+
Make sure you carefully reviewed the tool and argument(s) to be passed and make an informed decision for approval.
143+
144+
## Submit your approval
145+
If you decide to approve, you need to set the `approve` parameter to be `true` with the `id` for the preceding tool calls.
146+
```bash
147+
curl --request POST \
148+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/runs/run_abc123/submit_tool_outputs?api-version=$API_VERSION \
149+
-H "Authorization: Bearer $AGENT_TOKEN" \
150+
-H "Content-Type: application/json" \
151+
-d '{
152+
"tool_approvals": [
153+
{
154+
"tool_call_id": "call_abc123",
155+
"approve": true,
156+
"headers": {
157+
}
158+
}
159+
]
160+
}
161+
```
162+
163+
100164
## Retrieve the agent response
101165
102166
```bash

articles/ai-foundry/agents/how-to/tools/model-context-protocol.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ You can bring multiple remote MCP servers to Foundry Agent service by adding the
2727

2828
> [!Note]
2929
> * You need to bring a remote MCP server (an existing MCP server endpoint)
30-
> * With current MCP tool in Foundry Agent, explicit approval is not supported (only `never` is accepted for `require_approval` parameter). Please review carefully what MCP server(s) you added to Foundry Agent service. We recommend reviewing all data being shared with remote MCP servers and optionally logging it for auditing purposes.
30+
> * With current MCP tool in Foundry Agent, approval is required by default. Please review carefully what MCP server(s) you added to Foundry Agent service. We recommend reviewing all data being shared with remote MCP servers and optionally logging it for auditing purposes.
3131
> * Supported regions: `westus`, `westus2`, `uaenorth`, `southindia` and `switzerlandnorth`
3232
> * The MCP tool supports custom headers for a specific run, allowing you to pass headers as needed by MCP server, such as authentication schema. Headers you pass in will only be available for the current run and will not be persisted.
3333
@@ -43,11 +43,20 @@ You can bring multiple remote MCP servers to Foundry Agent service by adding the
4343
1. Find the remote MCP server you want to connect to, such as GitHub MCP Server. Create or update a Foundry Agent with a `mcp` tool with the following information:
4444
1. `server_url`: the url of the MCP server, for example, `https://api.githubcopilot.com/mcp/`
4545
2. `server_label`: a unique identifier of this MCP server to the agent, for example, `github`
46-
3. `require_approval`: only `never` is supported right now
46+
3. `allowed_tools`: optional, a list of tools you want to allow without approval
4747

4848
1. Create a run and pass additional information about the `mcp` tool in `tool_resources` with headers
4949
1. `tool_label`: use the identifier you provided during create/update agent
5050
2. `headers`: pass a set of headers required by the MCP server
51+
3. `require_approval`: optional, if not provided, `always` is the default value, meaning each time developer needs to approve before calling. Supported values:
52+
1. `always` by default
53+
2. `never` meaning no approval is required
54+
3. `{"never":[<tool_name_1>, <tool_name_2>]}` you can also provide a list of tools without required approval
55+
4. `{"always":[<tool_name_1>, <tool_name_2>]}` you can provide a list of tools with required approval
56+
57+
1. If the model is trying to invoke a tool in your MCP server with approval required, you will get Run status as `require_action`. Within `require_action` field, you can get more details on which tool in MCP server to be called, argument(s) to be passed and `call_id`. Make sur eyou review the tool, argument(s) and make an informed decision for approval.
58+
59+
1. Submit your approval to the agent with `call_id` by setting `approve` to `true.
5160

5261
## Next steps
5362

articles/ai-foundry/how-to/create-azure-ai-resource.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.custom:
99
- build-2024
1010
- ignite-2024
1111
ms.topic: how-to
12-
ms.date: 05/08/2025
12+
ms.date: 07/08/2025
1313
ms.reviewer: deeikele
1414
ms.author: sgilley
1515
author: sdgilley
@@ -33,7 +33,7 @@ In this article, you learn how to create and manage a hub in Azure AI Foundry po
3333

3434
If your organization is using [Azure Policy](/azure/governance/policy/overview), set up a hub that meets your organization's requirements instead of using Azure AI Foundry for resource creation.
3535

36-
1. From the Azure portal, search for `Azure AI Foundry`. From the left menu, select **AI Hubs**, and then select **+ Create** and **Hub**.
36+
1. From the [Azure portal](https://portal.azure.com), search for `Azure AI Foundry`. From the left menu, select **AI Hubs**, and then select **+ Create** and **Hub**.
3737

3838
:::image type="content" source="../media/how-to/hubs/create-hub.png" alt-text="Screenshot of the Azure AI Foundry portal." lightbox="../media/how-to/hubs/create-hub.png":::
3939

@@ -61,18 +61,19 @@ If your organization is using [Azure Policy](/azure/governance/policy/overview),
6161
6262
1. Select **Review + create** > **Create**.
6363

64-
## Manage your hub from the Azure portal
6564

66-
### Manage access control
65+
## Manage access control
6766

68-
You can add and remove users from the Azure AI Foundry portal management center. Both the hub and projects within the hub have a **Users** entry in the left-menu that allows you to add and remove users. When adding users, you can assign them built-in roles.
67+
You can add and remove users from the [Azure AI Foundry portal](https://ai.azure.com?cid=LearnDocs) management center. Both the hub and projects within the hub have a **Users** entry in the left-menu that allows you to add and remove users. When adding users, you can assign them built-in roles.
6968

7069
:::image type="content" source="../media/how-to/hubs/studio-user-management.png" alt-text="Screenshot of the users area of the management center for a hub." lightbox="../media/how-to/hubs/studio-user-management.png":::
7170

7271
For custom role assignments, use **Access control (IAM)** within the Azure portal.
7372

7473
To add grant users permissions from the Azure portal, see the [Azure role assignments](/azure/role-based-access-control/role-assignments-portal) article.
7574

75+
## Manage your hub from the Azure AI Foundry portal
76+
7677
### Networking
7778

7879
Hub networking settings can be set during resource creation or changed in the **Networking** tab in the Azure portal view. Creating a new hub invokes a Managed Virtual Network. This streamlines and automates your network isolation configuration with a built-in Managed Virtual Network. The Managed Virtual Network settings are applied to all projects created within a hub.
@@ -147,12 +148,12 @@ After your hub is created, it isn't possible to switch between Your Azure Key Va
147148

148149
## Delete an Azure AI Foundry hub
149150

150-
To delete a hub from Azure AI Foundry, select the hub and then select **Delete hub** from the **Hub properties** section of the page.
151+
To delete a hub from [Azure AI Foundry](https://ai.azure.com?cid=LearnDocs), select the hub and then select **Delete hub** from the **Hub properties** section of the page.
151152

152153
:::image type="content" source="../media/how-to/hubs/studio-delete-hub.png" alt-text="Screenshot of the delete hub link in hub properties." lightbox="../media/how-to/hubs/studio-delete-hub.png":::
153154

154155
> [!NOTE]
155-
> You can also delete the hub from the Azure portal.
156+
> You can also delete the hub from the [Azure portal](https://portal.azure.com).
156157
157158
Deleting a hub deletes all associated projects. When a project is deleted, all nested endpoints for the project are also deleted. You can optionally delete connected resources; however, make sure that no other applications are using this connection. For example, another Azure AI Foundry deployment might be using it.
158159

articles/ai-foundry/how-to/create-secure-ai-hub.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: azure-ai-foundry
77
ms.custom:
88
- build-2024
99
ms.topic: how-to
10-
ms.date: 05/09/2025
10+
ms.date: 07/08/2025
1111
ms.reviewer: meerakurup
1212
ms.author: sgilley
1313
author: sdgilley
@@ -31,7 +31,7 @@ You can secure your [Azure AI Foundry](https://ai.azure.com/?cid=learnDocs) hub,
3131

3232
## Create a hub
3333

34-
1. From the Azure portal, search for `Azure AI Foundry`. From the left menu, select **AI Hubs**, and then select **+ Create** and **Hub**.
34+
1. From the [Azure portal](https://portal.azure.com), search for `Azure AI Foundry`. From the left menu, select **AI Hubs**, and then select **+ Create** and **Hub**.
3535

3636
:::image type="content" source="../media/how-to/hubs/create-hub.png" alt-text="Screenshot of the Azure AI Foundry portal." lightbox="../media/how-to/hubs/create-hub.png":::
3737

0 commit comments

Comments
 (0)