Skip to content

Commit 5063969

Browse files
authored
Merge pull request #5936 from MicrosoftDocs/main
Auto Publish – main to live - 2025-07-09 05:05 UTC
2 parents 2b324c3 + 498216e commit 5063969

36 files changed

+738
-1871
lines changed

.openpublishing.redirection.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,11 @@
460460
"redirect_url": "../foundry-models/overview",
461461
"redirect_document_id": false
462462
},
463+
{
464+
"source_path": "articles/ai-foundry/concepts/concept-model-distillation.md",
465+
"redirect_url": "../openai/how-to/stored-completions",
466+
"redirect_document_id": false
467+
},
463468
{
464469
"source_path": "articles/ai-foundry/model-inference/quotas-limits.md",
465470
"redirect_url": "../foundry-models/quotas-limits",
@@ -486,4 +491,4 @@
486491
"redirect_document_id": false
487492
}
488493
]
489-
}
494+
}

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/concepts/concept-model-distillation.md

Lines changed: 0 additions & 46 deletions
This file was deleted.

articles/ai-foundry/openai/how-to/reasoning.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to use Azure OpenAI's advanced o3-mini, o1, & o1-mini rea
55
manager: nitinme
66
ms.service: azure-ai-openai
77
ms.topic: include
8-
ms.date: 06/17/2025
8+
ms.date: 07/08/2025
99
author: mrbullwinkle
1010
ms.author: mbullwin
1111
---
@@ -41,14 +41,14 @@ Azure OpenAI `o-series` models are designed to tackle reasoning and problem-solv
4141

4242
| **Feature** | **codex-mini**, **2025-05-16** | **o3-pro**, **2025-06-10** | **o4-mini**, **2025-04-16** | **o3**, **2025-04-16** | **o3-mini**, **2025-01-31** |**o1**, **2024-12-17** | **o1-preview**, **2024-09-12** | **o1-mini**, **2024-09-12** |
4343
|:-------------------|:--------------------------:|:------:|:--------|:-----:|:-------:|:--------------------------:|:-------------------------------:|:---:|
44-
| **API Version** | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` | `2025-04-01-preview` | `2024-12-01-preview` or later <br> `2025-03-01-preview` (Recommended) | `2024-12-01-preview` or later <br> `2025-03-01-preview` (Recommended) | `2024-09-01-preview` or later <br> `2025-03-01-preview` (Recommended) | `2024-09-01-preview` or later <br> `2025-03-01-preview` (Recommended) |
44+
| **API Version** | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) | `2025-04-01-preview` & [v1 preview](../api-version-lifecycle.md#api-evolution) |
4545
| **[Developer Messages](#developer-messages)** ||||||| - | - |
4646
| **[Structured Outputs](./structured-outputs.md)** ||||||| - | - |
4747
| **[Context Window](../concepts/models.md#o-series-models)** | Input: 200,000 <br> Output: 100,000 | Input: 200,000 <br> Output: 100,000 | Input: 200,000 <br> Output: 100,000 | Input: 200,000 <br> Output: 100,000 | Input: 200,000 <br> Output: 100,000 | Input: 200,000 <br> Output: 100,000 | Input: 128,000 <br> Output: 32,768 | Input: 128,000 <br> Output: 65,536 |
4848
| **[Reasoning effort](#reasoning-effort)** ||||||| - | - |
4949
| **[Image input](./gpt-with-vision.md)** ||||| - || - | - |
5050
| Chat Completions API | - | - |||||||
51-
| Responses API ||||| - | - | - | - |
51+
| Responses API ||||| | | - | - |
5252
| Functions/Tools ||||||| - | - |
5353
| Parallel Tool Calls | - | - | - | - | - | - | - | - |
5454
| `max_completion_tokens` <sup>1</sup> |||||||||

articles/ai-foundry/openai/how-to/responses.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to use Azure OpenAI's new stateful Responses API.
55
author: mrbullwinkle
66
ms.author: mbullwin
77
manager: nitinme
8-
ms.date: 06/20/2025
8+
ms.date: 07/08/2025
99
ms.service: azure-ai-openai
1010
ms.topic: include
1111
ms.custom:
@@ -51,6 +51,8 @@ The responses API is currently available in the following regions:
5151
- `gpt-4.1-nano` (Version: `2025-04-14`)
5252
- `gpt-4.1-mini` (Version: `2025-04-14`)
5353
- `gpt-image-1` (Version: `2025-04-15`)
54+
- `o1` (Version: `2024-12-17`)
55+
- `o3-mini` (Version: `2025-01-31`)
5456
- `o3` (Version: `2025-04-16`)
5557
- `o4-mini` (Version: `2025-04-16`)
5658

articles/ai-foundry/responsible-ai/computer-vision/compliance-privacy-security-2.md

Lines changed: 0 additions & 81 deletions
This file was deleted.

0 commit comments

Comments
 (0)