Skip to content

Commit db33d34

Browse files
Merge pull request #6080 from MicrosoftDocs/main
Auto Publish – main to live - 2025-07-16 22:05 UTC
2 parents a33ec43 + 01c8cc7 commit db33d34

18 files changed

+224
-56
lines changed

articles/ai-foundry/agents/how-to/connected-agents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ Checks the contract against internal standards or uploaded guidelines to identif
109109
## Use the .NET SDK
110110

111111
> [!NOTE]
112-
> This shows a synchronous usage. You can find an asynchronous example on [GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Projects/samples/Sample24_Agent_Connected_Agent.md)
112+
> This shows a synchronous usage. You can find an asynchronous example on [GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/ai/Azure.AI.Agents.Persistent/samples/Sample23_PersistentAgents_Connected_Agent.md)
113113
114114
To enable your Agent to use a connected agent, you use `ConnectedAgentToolDefinition` along with the agent ID, name, and a description.
115115

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ Use this article to learn how to use the Deep Research tool with the Azure AI Pr
5050

5151
Save this endpoint to an environment variable named `BING_RESOURCE_NAME`.
5252

53-
* The names of your `o3-deep-research-model` deployment name and Azure OpenAI GPT model deployment name. You can find them in **Models + Endpoints** in the left navigation menu.
53+
* The deployment names of your `o3-deep-research-model` and `gpt-4o` models. You can find them in **Models + Endpoints** in the left navigation menu.
5454

55-
:::image type="content" source="../../media/tools/deep-research/model-deployments.png" alt-text="A screenshot showing the model deployment screen the AI Foundry portal." lightbox="../../media/tools/deep-research/model-deployments.png":::
55+
:::image type="content" source="../../media/tools/deep-research/model-deployments.png" alt-text="A screenshot showing the model deployment screen the AI Foundry portal." lightbox="../../media/tools/deep-research/model-deployments.png":::
5656
57-
Save the name of your `o3-deep-research-model` deployment name as an environment variable named `DEEP_RESEARCH_MODEL_DEPLOYMENT_NAME` and Azure OpenAI GPT model deployment name as an environment variable named `MODEL_DEPLOYMENT_NAME`.
57+
Save the name of your `o3-deep-research` deployment name as an environment variable named `DEEP_RESEARCH_MODEL_DEPLOYMENT_NAME` and the `gpt-4o` deployment name as an environment variable named `MODEL_DEPLOYMENT_NAME`.
5858

5959
> [!NOTE]
60-
> Limitation: The Deep Research tool is currently recommended only in nonstreaming scenarios. Using it with streaming can work, but it might occasionally time out and is therefore not recommended.
60+
> Other GPT-series models including GPT-4o-mini and the GPT-4.1 series are not supported for scope clarification.
6161

6262
## Create an agent with the Deep Research tool
6363

@@ -197,6 +197,9 @@ with project_client:
197197
print("Deleted agent")
198198
```
199199

200+
> [!NOTE]
201+
> Limitation: The Deep Research tool is currently recommended only in nonstreaming scenarios. Using it with streaming can work, but it might occasionally time out and is therefore not recommended.
202+
200203
## Next steps
201204

202205
* [Reference documentation](https://aka.ms/azsdk/azure-ai-projects/python/reference)

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ The Deep Research tool is supported in the following regions where the deep rese
4747
|---------|---------|
4848
| ✔️ | ✔️ |
4949

50-
## GPT model for clarifying research scope
50+
## GPT-4o model for clarifying research scope
5151

52-
The Deep Research tool uses a GPT model to clarify the question contained in the user prompt, gather additional context if needed, and precisely scope the research task. This model is deployed during configuration of the Deep Research tool and can be one of the GPT-series models including GPT-4o, **except** the GPT-4.1 family, The 4.1 family is not supported by the Agents service.
52+
The Deep Research tool uses the `gpt-4o` model to clarify the question contained in the user prompt, gather additional context if needed, and precisely scope the research task. This model is deployed during configuration of the Deep Research tool.
5353

54-
## Deep research model for deep analysis
54+
> [!NOTE]
55+
> Other GPT-series models including GPT-4o-mini and the GPT-4.1 series are not supported for scope clarification.
56+
57+
## Deep research model for analysis
5558

5659
- **Model name**: `o3-deep-research`
5760
- **Deployment type**: Global Standard
@@ -64,7 +67,7 @@ The Deep Research tool uses a GPT model to clarify the question contained in the
6467
- [Grounding with Bing Search tool](./bing-grounding.md) resource for connecting to your Azure AI Foundry project.
6568
- [Model deployments](../../../model-inference/how-to/create-model-deployments.md) for the following models
6669
- `o3-deep-research` version `2025-06-26`. This model is available in `West US` and `Norway East`.
67-
- Any Azure OpenAI GPT model like `gpt-4o` for intent clarification. Deploy in the same regions.
70+
- The `gpt-4o` model for intent clarification. Deploy this model in the same region.
6871

6972
## Research tool setup
7073

articles/ai-foundry/agents/how-to/tools/logic-apps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: cognitive-services
66
manager: nitinme
77
ms.service: azure-ai-agent-service
88
ms.topic: how-to
9-
ms.date: 07/11/2025
9+
ms.date: 07/16/2025
1010
author: aahill
1111
ms.author: aahi
1212
ms.reviewer: umangsehgal
@@ -74,7 +74,7 @@ project_client = AIProjectClient(
7474

7575
## Register the Logic App
7676

77-
Register the Logic App by providing its name and trigger details. You can find code for `AzureLogicAppTool` on[GitHub](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-agents/samples/utils/user_functions.py).
77+
Register the Logic App by providing its name and trigger details. You can find code for `AzureLogicAppTool` on [GitHub](https://github.com/azure-ai-foundry/foundry-samples/blob/main/samples/microsoft/python/getting-started-agents/logic_apps/user_logic_apps.py).
7878

7979
```python
8080
from user_logic_apps import AzureLogicAppTool

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

Lines changed: 139 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: cognitive-services
66
manager: nitinme
77
ms.service: azure-ai-agent-service
88
ms.topic: how-to
9-
ms.date: 06/26/2025
9+
ms.date: 07/14/2025
1010
author: aahill
1111
ms.author: aahi
1212
zone_pivot_groups: selection-mcp-code
@@ -17,6 +17,141 @@ 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+
:::zone pivot="python"
21+
22+
## Initialization
23+
The code begins by setting up the necessary imports, getting the relevant MCP server configuration, and initializing the AI Project client:
24+
25+
```python
26+
# Import necessary libraries
27+
import os, time
28+
from azure.ai.projects import AIProjectClient
29+
from azure.identity import DefaultAzureCredential
30+
from azure.ai.agents.models import McpTool, RequiredMcpToolCall, SubmitToolApprovalAction, ToolApproval
31+
32+
# Get MCP server configuration from environment variables
33+
mcp_server_url = os.environ.get("MCP_SERVER_URL", "https://gitmcp.io/Azure/azure-rest-api-specs")
34+
mcp_server_label = os.environ.get("MCP_SERVER_LABEL", "github")
35+
36+
project_client = AIProjectClient(
37+
endpoint=os.environ["PROJECT_ENDPOINT"],
38+
credential=DefaultAzureCredential(),
39+
)
40+
```
41+
42+
## Tool setup
43+
To add the MCP server to the agent, use the following example, which takes the MCP server label and URL from the last step. You can also add or remove allowed tools dynamically through the `allow_tool` parameter.
44+
45+
```python
46+
mcp_tool = McpTool(
47+
server_label=mcp_server_label,
48+
server_url=mcp_server_url,
49+
allowed_tools=[], # Optional: specify allowed tools
50+
)
51+
52+
# You can also add or remove allowed tools dynamically
53+
search_api_code = "search_azure_rest_api_code"
54+
mcp_tool.allow_tool(search_api_code)
55+
print(f"Allowed tools: {mcp_tool.allowed_tools}")
56+
```
57+
58+
## Agent creation
59+
An agent is created using the `project_client.agents.create_agent` method.
60+
61+
```python
62+
# Create a new agent.
63+
# NOTE: To reuse existing agent, fetch it with get_agent(agent_id)
64+
with project_client:
65+
agents_client = project_client.agents
66+
67+
# Create a new agent.
68+
# NOTE: To reuse existing agent, fetch it with get_agent(agent_id)
69+
agent = agents_client.create_agent(
70+
model=os.environ["MODEL_DEPLOYMENT_NAME"],
71+
name="my-mcp-agent",
72+
instructions="You are a helpful agent that can use MCP tools to assist users. Use the available MCP tools to answer questions and perform tasks.",
73+
tools=mcp_tool.definitions,
74+
)
75+
```
76+
77+
## Thread management
78+
Create the thread and add the initial user message.
79+
80+
```python
81+
# Create thread for communication
82+
thread = agents_client.threads.create()
83+
print(f"Created thread, ID: {thread.id}")
84+
85+
# Create message to thread
86+
message = agents_client.messages.create(
87+
thread_id=thread.id,
88+
role="user",
89+
content="Please summarize the Azure REST API specifications Readme",
90+
)
91+
print(f"Created message, ID: {message.id}")
92+
```
93+
94+
## Handle tool approvals and create a run
95+
96+
Set the MCP server update headers and optionally disable tool approval requirements.
97+
98+
```python
99+
mcp_tool.update_headers("SuperSecret", "123456")
100+
# mcp_tool.set_approval_mode("never") # Uncomment to disable approval requirement
101+
run = agents_client.runs.create(thread_id=thread.id, agent_id=agent.id, tool_resources=mcp_tool.resources)
102+
print(f"Created run, ID: {run.id}")
103+
```
104+
105+
106+
## Create a run and check the output
107+
Create the run, check the output, and examine what tools were called during the run.
108+
109+
```python
110+
# Create and automatically process the run, handling tool calls internally
111+
run = project_client.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
112+
print(f"Run finished with status: {run.status}")
113+
114+
if run.status == "failed":
115+
print(f"Run failed: {run.last_error}")
116+
117+
# Retrieve the steps taken during the run for analysis
118+
run_steps = project_client.agents.run_steps.list(thread_id=thread.id, run_id=run.id)
119+
120+
# Loop through each step to display information
121+
for step in run_steps:
122+
print(f"Step {step['id']} status: {step['status']}")
123+
124+
tool_calls = step.get("step_details", {}).get("tool_calls", [])
125+
for call in tool_calls:
126+
print(f" Tool Call ID: {call.get('id')}")
127+
print(f" Type: {call.get('type')}")
128+
function_details = call.get("function", {})
129+
if function_details:
130+
print(f" Function name: {function_details.get('name')}")
131+
print(f" function output: {function_details.get('output')}")
132+
133+
print()
134+
```
135+
136+
137+
## Cleanup
138+
After the interaction is complete, the script performs cleanup by deleting the created agent resource using `agents_client.delete_agent()` to avoid leaving unused resources. It also fetches and prints the entire message history from the thread using `agents_client.list_messages()` for review or logging.
139+
140+
```python
141+
# Delete the agent resource to clean up
142+
project_client.agents.delete_agent(agent.id)
143+
print("Deleted agent")
144+
145+
# Fetch and log all messages exchanged during the conversation thread
146+
messages = project_client.agents.messages.list(thread_id=thread.id)
147+
for msg in messages:
148+
print(f"Message ID: {msg.id}, Role: {msg.role}, Content: {msg.content}")
149+
```
150+
151+
:::zone-end
152+
153+
:::zone pivot="rest"
154+
20155
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`.
21156

22157

@@ -168,3 +303,6 @@ curl --request GET \
168303
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/messages?api-version=$API_VERSION \
169304
-H "Authorization: Bearer $AGENT_TOKEN"
170305
```
306+
307+
:::zone-end
308+

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: cognitive-services
66
manager: nitinme
77
ms.service: azure-ai-agent-service
88
ms.topic: how-to
9-
ms.date: 06/17/2025
9+
ms.date: 07/16/2025
1010
author: aahill
1111
ms.author: aahi
1212
ms.custom: references_regions
@@ -35,7 +35,7 @@ You can bring multiple remote MCP servers to Foundry Agent service by adding the
3535

3636
|Azure AI foundry support | Python SDK | C# SDK | JavaScript SDK | REST API |Basic agent setup | Standard agent setup |
3737
|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|---------:|
38-
| - | - | - | - | ✔️ | ✔️ | ✔️ |
38+
| - | ✔️ | - | - | ✔️ | ✔️ | ✔️ |
3939

4040
## Setup
4141
1. Create an Azure AI Foundry Agent by following the steps in the [quickstart](../../quickstart.md).

articles/ai-foundry/agents/how-to/tools/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ The following tools are authored by third-party partners. Use the links below to
9999
| [LexisNexis](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/python/getting-started-agents/3p-tools/LexisNexis) | Seamless access to LexisNexis content. |
100100
| [MiHCM](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/python/getting-started-agents/3p-tools/MiHCM) | seamless integration with MiHCM's HR functionalities |
101101
| [Morningstar](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/python/getting-started-agents/3p-tools/Morningstar) | Access up-to-date investment research and data such as analyst research, expert commentary, and essential Morningstar data. |
102-
| [Trademo](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/python/getting-started-agents/3p-tools/Trademo_Glocal_trade) | Provide latest duties and past shipment data for trade between multiple countries |
102+
| [Trademo](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/python/getting-started-agents/3p-tools/Trademo_Global_trade) | Provide latest duties and past shipment data for trade between multiple countries |
103103
| [Tripadvisor](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/python/getting-started-agents/3p-tools/Tripadvisor) | Get travel data, guidance and reviews |
104104

105105
## Best Practices

articles/ai-foundry/agents/includes/quickstart-typescript.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: aahill
44
ms.author: aahi
55
ms.service: azure-ai-agent-service
66
ms.topic: include
7-
ms.date: 03/28/2025
7+
ms.date: 07/16/2025
88
ms.custom: devx-track-ts
99
---
1010

@@ -52,7 +52,7 @@ Next, to authenticate your API requests and run the program, use the [az login](
5252
az login
5353
```
5454

55-
Use the following code to create and run an agent which uploads [a CSV file](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/ai/ai-agents/data/nifty500QuarterlyResults.csv) of data then generates a bar chart from that data. To run this code, you'll need to get the endpoint for your project. This string is in the format:
55+
Use the following code to create and run an agent which uploads [a CSV file](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/ai/ai-agents/data/syntheticCompanyQuarterlyResults.csv) of data then generates a bar chart from that data. To run this code, you'll need to get the endpoint for your project. This string is in the format:
5656

5757
`https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>`
5858

articles/ai-foundry/openai/concepts/legacy-models.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Azure OpenAI offers a variety of models for different use cases. The following m
2222

2323
| Model | Deprecation date | Retirement date | Suggested replacement |
2424
| --------- | --------------------- | ------------------- | -------------------- |
25+
| `gpt-4.5-preview` | | July 14, 2025 | `gpt-4.1` version: `2025-04-14` |
2526
| `gpt-4o-realtime-preview` - 2024-10-01 | February 25, 2025 | March 26, 2025 | `gpt-4o-realtime-preview` (version 2024-12-17) or `gpt-4o-mini-realtime-preview` (version 2024-12-17) |
2627
| `gpt-35-turbo` - 0301 | | February 13, 2025 | `gpt-35-turbo` (0125) <br><br> `gpt-4o-mini` |
2728
| `gpt-35-turbo` - 0613 | | February 13, 2025 | `gpt-35-turbo` (0125) <br><br> `gpt-4o-mini` |

articles/ai-foundry/openai/concepts/model-retirements.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure OpenAI
44
description: Learn about the model deprecations and retirements in Azure OpenAI.
55
ms.service: azure-ai-openai
66
ms.topic: conceptual
7-
ms.date: 06/25/2025
7+
ms.date: 07/16/2025
88
ms.custom:
99
manager: nitinme
1010
author: mrbullwinkle
@@ -101,4 +101,6 @@ These models are currently available for use in Azure OpenAI.
101101

102102
## Retirement and deprecation history
103103

104-
To track individual updates to this article refer to the [Git History](https://github.com/MicrosoftDocs/azure-ai-docs/commits/main/articles/ai-services/openai/includes/retirement/models.md)
104+
- To track individual updates to this article refer to the [Git History](https://github.com/MicrosoftDocs/azure-ai-docs/commits/main/articles/ai-foundry/openai/includes/retirement/models.md)
105+
106+
- For a list of retired models, refer to the [retired models page](./legacy-models.md).

0 commit comments

Comments
 (0)