Skip to content

Commit 2d17cc0

Browse files
authored
Merge branch 'main' into 443165-june-freshness-phase-two
2 parents c359ad4 + 23e85bc commit 2d17cc0

File tree

703 files changed

+20164
-4061
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

703 files changed

+20164
-4061
lines changed

.github/policies/disallow-edits.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ configuration:
1919
@${issueAuthor} - You tried to add an index file to this repository; this is not permitted so your pull request will be closed automatically.
2020
- closePullRequest
2121

22-
- description: Close PRs to the "ai-services/personalizer" and "ai-services/responsible-ai" folders where the author isn't a member of the MicrosoftDocs org (i.e. PRs in public repo).
22+
- description: Close PRs to the "personalizer" and "responsible-ai" folders where the author isn't a member of the MicrosoftDocs org (i.e. PRs in public repo).
2323
if:
2424
- payloadType: Pull_Request
2525
- isAction:
2626
action: Opened
2727
- or:
2828
- filesMatchPattern:
2929
matchAny: true
30-
pattern: articles/ai-services/personalizer/*
30+
pattern: articles/ai-foundry/responsible-ai/*
3131
- filesMatchPattern:
3232
matchAny: true
33-
pattern: articles/ai-services/responsible-ai/*
33+
pattern: articles/ai-services/personalizer/*
3434
- not:
3535
activitySenderHasAssociation:
3636
association: Member
@@ -40,14 +40,18 @@ configuration:
4040
@${issueAuthor} - Pull requests that modify files in this folder aren't accepted from public contributors.
4141
- closePullRequest
4242

43-
- description: \@mention specific people when a PR is opened in the "ai-services/personalizer" folder.
43+
- description: \@mention specific people when a PR is opened in the "personalizer" or "responsible-ai" folder.
4444
if:
4545
- payloadType: Pull_Request
4646
- isAction:
4747
action: Opened
48-
- filesMatchPattern:
49-
matchAny: true
50-
pattern: articles/ai-services/personalizer/*
48+
- or:
49+
- filesMatchPattern:
50+
matchAny: true
51+
pattern: articles/ai-foundry/responsible-ai/*
52+
- filesMatchPattern:
53+
matchAny: true
54+
pattern: articles/ai-services/personalizer/*
5155
- activitySenderHasAssociation:
5256
association: Member
5357
- not:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,5 @@ _repo.*/
1818
# CoPilot instructions and prompts
1919
.github/copilot-instructions.md
2020
.github/prompts/*.md
21+
.github/prompts/*.zip
22+
.github/patterns/*.md

.openpublishing.redirection.json

Lines changed: 167 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"redirections": [
33
{
44
"source_path": "articles/ai-foundry/concepts/connections.md",
@@ -319,6 +319,171 @@
319319
"source_path_from_root": "/articles/ai-services/language-service/tutorials/prompt-flow.md",
320320
"redirect_url": "/azure/ai-services/language-service/tutorials/power-automate",
321321
"redirect_document_id": false
322+
},
323+
{
324+
"source_path": "articles/ai-foundry/model-inference/concepts/content-filter.md",
325+
"redirect_url": "../../foundry-models/concepts/content-filter",
326+
"redirect_document_id": false
327+
},
328+
{
329+
"source_path": "articles/ai-foundry/model-inference/concepts/default-safety-policies.md",
330+
"redirect_url": "../../foundry-models/concepts/default-safety-policies",
331+
"redirect_document_id": false
332+
},
333+
{
334+
"source_path": "articles/ai-foundry/model-inference/concepts/deployment-types.md",
335+
"redirect_url": "../../foundry-models/concepts/deployment-types",
336+
"redirect_document_id": false
337+
},
338+
{
339+
"source_path": "articles/ai-foundry/model-inference/concepts/endpoints.md",
340+
"redirect_url": "../../foundry-models/concepts/endpoints",
341+
"redirect_document_id": false
342+
},
343+
{
344+
"source_path": "articles/ai-foundry/model-inference/concepts/models.md",
345+
"redirect_url": "../../foundry-models/concepts/models",
346+
"redirect_document_id": false
347+
},
348+
{
349+
"source_path": "articles/ai-foundry/model-inference/concepts/model-versions.md",
350+
"redirect_url": "../../foundry-models/concepts/model-versions",
351+
"redirect_document_id": false
352+
},
353+
{
354+
"source_path": "articles/ai-foundry/model-inference/how-to/configure-content-filters.md",
355+
"redirect_url": "../../foundry-models/how-to/configure-content-filters",
356+
"redirect_document_id": false
357+
},
358+
{
359+
"source_path": "articles/ai-foundry/model-inference/how-to/configure-deployment-policies.md",
360+
"redirect_url": "../../foundry-models/how-to/configure-deployment-policies",
361+
"redirect_document_id": false
362+
},
363+
{
364+
"source_path": "articles/ai-foundry/model-inference/how-to/configure-entra-id.md",
365+
"redirect_url": "../../foundry-models/how-to/configure-entra-id",
366+
"redirect_document_id": false
367+
},
368+
{
369+
"source_path": "articles/ai-foundry/model-inference/how-to/configure-marketplace.md",
370+
"redirect_url": "../../foundry-models/how-to/configure-marketplace",
371+
"redirect_document_id": false
372+
},
373+
{
374+
"source_path": "articles/ai-foundry/model-inference/how-to/configure-project-connection.md",
375+
"redirect_url": "../../foundry-models/how-to/configure-project-connection",
376+
"redirect_document_id": false
377+
},
378+
{
379+
"source_path": "articles/ai-foundry/model-inference/how-to/create-model-deployments.md",
380+
"redirect_url": "../../foundry-models/how-to/create-model-deployments",
381+
"redirect_document_id": false
382+
},
383+
{
384+
"source_path": "articles/ai-foundry/model-inference/how-to/inference.md",
385+
"redirect_url": "../../foundry-models/how-to/inference",
386+
"redirect_document_id": false
387+
},
388+
{
389+
"source_path": "articles/ai-foundry/model-inference/how-to/manage-costs.md",
390+
"redirect_url": "../../foundry-models/how-to/manage-costs",
391+
"redirect_document_id": false
392+
},
393+
{
394+
"source_path": "articles/ai-foundry/model-inference/how-to/monitor-models.md",
395+
"redirect_url": "../../foundry-models/how-to/monitor-models",
396+
"redirect_document_id": false
397+
},
398+
{
399+
"source_path": "articles/ai-foundry/model-inference/how-to/quickstart-ai-project.md",
400+
"redirect_url": "../../foundry-models/how-to/quickstart-ai-project",
401+
"redirect_document_id": false
402+
},
403+
{
404+
"source_path": "articles/ai-foundry/model-inference/how-to/quickstart-create-resources.md",
405+
"redirect_url": "../../foundry-models/how-to/quickstart-create-resources",
406+
"redirect_document_id": false
407+
},
408+
{
409+
"source_path": "articles/ai-foundry/model-inference/how-to/quickstart-github-models.md",
410+
"redirect_url": "../../foundry-models/how-to/quickstart-github-models",
411+
"redirect_document_id": false
412+
},
413+
{
414+
"source_path": "articles/ai-foundry/model-inference/how-to/use-blocklists.md",
415+
"redirect_url": "../../foundry-models/how-to/use-blocklists",
416+
"redirect_document_id": false
417+
},
418+
{
419+
"source_path": "articles/ai-foundry/model-inference/how-to/use-chat-completions.md",
420+
"redirect_url": "../../foundry-models/how-to/use-chat-completions",
421+
"redirect_document_id": false
422+
},
423+
{
424+
"source_path": "articles/ai-foundry/model-inference/how-to/use-chat-multi-modal.md",
425+
"redirect_url": "../../foundry-models/how-to/use-chat-multi-modal",
426+
"redirect_document_id": false
427+
},
428+
{
429+
"source_path": "articles/ai-foundry/model-inference/how-to/use-chat-reasoning.md",
430+
"redirect_url": "../../foundry-models/how-to/use-chat-reasoning",
431+
"redirect_document_id": false
432+
},
433+
{
434+
"source_path": "articles/ai-foundry/model-inference/how-to/use-embeddings.md",
435+
"redirect_url": "../../foundry-models/how-to/use-embeddings",
436+
"redirect_document_id": false
437+
},
438+
{
439+
"source_path": "articles/ai-foundry/model-inference/how-to/use-image-embeddings.md",
440+
"redirect_url": "../../foundry-models/how-to/use-image-embeddings",
441+
"redirect_document_id": false
442+
},
443+
{
444+
"source_path": "articles/ai-foundry/model-inference/how-to/use-structured-outputs.md",
445+
"redirect_url": "../../foundry-models/how-to/use-structured-outputs",
446+
"redirect_document_id": false
447+
},
448+
{
449+
"source_path": "articles/ai-foundry/model-inference/how-to/github/create-model-deployments.md",
450+
"redirect_url": "../../../foundry-models/how-to/github/create-model-deployments",
451+
"redirect_document_id": false
452+
},
453+
{
454+
"source_path": "articles/ai-foundry/model-inference/tutorials/get-started-deepseek-r1.md",
455+
"redirect_url": "../../foundry-models/tutorials/get-started-deepseek-r1",
456+
"redirect_document_id": false
457+
},
458+
{
459+
"source_path": "articles/ai-foundry/model-inference/overview.md",
460+
"redirect_url": "../foundry-models/overview",
461+
"redirect_document_id": false
462+
},
463+
{
464+
"source_path": "articles/ai-foundry/model-inference/quotas-limits.md",
465+
"redirect_url": "../foundry-models/quotas-limits",
466+
"redirect_document_id": false
467+
},
468+
{
469+
"source_path": "articles/ai-foundry/model-inference/supported-languages.md",
470+
"redirect_url": "../foundry-models/supported-languages",
471+
"redirect_document_id": false
472+
},
473+
{
474+
"source_path": "articles/ai-foundry/model-inference/supported-languages-openai.md",
475+
"redirect_url": "../foundry-models/supported-languages-openai",
476+
"redirect_document_id": false
477+
},
478+
{
479+
"source_path": "articles/ai-foundry/model-inference/faq.yml",
480+
"redirect_url": "../foundry-models/faq",
481+
"redirect_document_id": false
482+
},
483+
{
484+
"source_path": "articles/ai-foundry/model-inference/index.yml",
485+
"redirect_url": "../foundry-models/index",
486+
"redirect_document_id": false
322487
}
323488
]
324-
}
489+
}

articles/ai-foundry/.openpublishing.redirection.ai-studio.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,11 @@
350350
"redirect_url": "/azure/ai-foundry/how-to/evaluate-results",
351351
"redirect_document_id": true
352352
},
353+
{
354+
"source_path_from_root": "/articles/ai-foundry/how-to/deploy-nvidia-inference-microservice.md",
355+
"redirect_url": "/azure/ai-foundry/how-to/deploy-models-managed-pay-go#nvidia",
356+
"redirect_document_id": true
357+
},
353358
{
354359
"source_path_from_root": "/articles/ai-studio/how-to/fine-tune-managed-compute.md",
355360
"redirect_url": "/azure/ai-foundry/how-to/fine-tune-managed-compute",

articles/ai-foundry/agents/breadcrumb/toc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
topicHref: /azure/index
1515
items:
1616
- name: AI Foundry # Original doc set name
17-
tocHref: /legal/cognitive-services/openai # Destination doc set route
17+
tocHref: /azure/ai-foundry/responsible-ai/openai # Destination doc set route
1818
topicHref: /azure/ai-services/agents/index # Original doc set route
1919
items:
2020
- name: Agent Service # Destination doc set name
21-
tocHref: /legal/cognitive-services/openai # Destination doc set route
21+
tocHref: /azure/ai-foundry/responsible-ai/openai # Destination doc set route
2222
topicHref: /azure/ai-services/agents/index # Original doc set route

articles/ai-foundry/agents/concepts/agent-catalog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.custom:
1515
# Get started with the Agent Catalog
1616

1717
Accelerate your agent development using code samples and best practices for creating agents. Each agent sample below links to a GitHub Repository, where you can browse the agent's configuration files, setup instructions and source code to start integrating them into your own project in code.
18-
With agents you create using these code samples, be sure to assess safety and legal implications, and to comply with all applicable laws and safety standards. See the [transparency note](/legal/cognitive-services/agents/transparency-note) for more information.
18+
With agents you create using these code samples, be sure to assess safety and legal implications, and to comply with all applicable laws and safety standards. See the [transparency note](/azure/ai-foundry/responsible-ai/agents/transparency-note) for more information.
1919

2020
## Prerequisites
2121

articles/ai-foundry/agents/concepts/model-region-support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ All deployments can perform the exact same inference operations, however the bil
2727
Azure AI Foundry Agent Service supports the following Azure OpenAI models in the listed regions.
2828

2929
> [!NOTE]
30-
> * The following table is for standard deployment availability. For information on Provisioned Throughput Unit (PTU) availability, see [provisioned throughput](../../../ai-services/openai/concepts/provisioned-throughput.md) in the Azure OpenAI documentation. `GlobalStandard` customers also have access to [global standard models](../../../ai-services/openai/concepts/models.md#global-standard-model-availability).
30+
> * The following table is for serverless API deployment availability. For information on Provisioned Throughput Unit (PTU) availability, see [provisioned throughput](../../../ai-services/openai/concepts/provisioned-throughput.md) in the Azure OpenAI documentation. `GlobalStandard` customers also have access to [global standard models](../../../ai-services/openai/concepts/models.md#global-standard-model-availability).
3131
> * [Hub based projects](../../what-is-azure-ai-foundry.md#project-types) are limited to the following models: gpt-4o, gpt-4o-mini, gpt-4, gpt-35-turbo
3232
3333
| REGION | o1 | o3-mini | gpt-4.1, 2025-04-14 | gpt-4.1-mini, 2025-04-14 | gpt-4.1-nano, 2025-04-14 | gpt-4o, 2024-05-13 | gpt-4o, 2024-08-06 | gpt-4o, 2024-11-20 | gpt-4o-mini, 2024-07-18 | gpt-4, 0613 | gpt-4, turbo-2024-04-09 | gpt-4-32k, 0613 | gpt-35-turbo, 1106 | gpt-35-turbo, 0125 |

articles/ai-foundry/agents/faq.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ sections:
3737
- question: |
3838
Is my data used by Microsoft for training models?
3939
answer: |
40-
No. Data is not used by Microsoft for training models. See the [Responsible AI documentation](/legal/cognitive-services/openai/data-privacy?context=%2Fazure%2Fai-services%2Fopenai%2Fcontext%2Fcontext) for more information.
40+
No. Data is not used by Microsoft for training models. See the [Responsible AI documentation](/azure/ai-foundry/responsible-ai/openai/data-privacy) for more information.
4141
- question: |
4242
Where is data stored geographically?
4343
answer: |
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
title: 'MCP tool code samples'
3+
titleSuffix: Azure AI Foundry
4+
description: Find code samples to connect Foundry Agent service with MCP.
5+
services: cognitive-services
6+
manager: nitinme
7+
ms.service: azure-ai-agent-service
8+
ms.topic: how-to
9+
ms.date: 06/26/2025
10+
author: aahill
11+
ms.author: aahi
12+
zone_pivot_groups: selection-mcp-code
13+
ms.custom: azure-ai-agents-code
14+
---
15+
16+
# How to use the Model Context Protocol (MCP) tool
17+
18+
Use this article to find step-by-step instructions and code samples for connecting Foundry Agent service with MCP.
19+
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`.
21+
22+
23+
## Create an Agent with the MCP tool enabled
24+
25+
To make the MCP tool available to your agent, initialize a tool with the server endpoint, server label and more
26+
```bash
27+
curl --request POST \
28+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/assistants?api-version=$API_VERSION \
29+
-H "Authorization: Bearer $AGENT_TOKEN" \
30+
-H "Content-Type: application/json" \
31+
-d "{
32+
"instructions": "You are a customer support chatbot. Use the tools provided and your knowledge base to best respond to customer queries.",
33+
"tools": [
34+
{
35+
"type": "mcp",
36+
"server_label": "<unique name for your MCP server>",
37+
"server_url": "<your MCP server url>",
38+
"require_approval": "never",
39+
}
40+
],
41+
"name": "my-assistant",
42+
"model": "gpt-4o",
43+
}"
44+
```
45+
46+
## Create a thread
47+
48+
```bash
49+
curl --request POST \
50+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads?api-version=$API_VERSION \
51+
-H "Authorization: Bearer $AGENT_TOKEN" \
52+
-H "Content-Type: application/json" \
53+
-d ''
54+
```
55+
56+
## Add a user question to the thread
57+
58+
```bash
59+
curl --request POST \
60+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/messages?api-version=$API_VERSION \
61+
-H "Authorization: Bearer $AGENT_TOKEN" \
62+
-H "Content-Type: application/json" \
63+
-d '{
64+
"role": "user",
65+
"content": "<user input related to the MCP server you connect>"
66+
}'
67+
```
68+
69+
## Create a run and check the output
70+
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+
73+
```bash
74+
curl --request POST \
75+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/runs?api-version=$API_VERSION \
76+
-H "Authorization: Bearer $AGENT_TOKEN" \
77+
-H "Content-Type: application/json" \
78+
-d '{
79+
"assistant_id": "<agent_id>",
80+
"tool_resources": {
81+
"mcp": [
82+
{
83+
"server_label": "<the same unique name you provided during agent creation>",
84+
"headers": {
85+
"Authorization": "Bearer <token>",
86+
}
87+
}
88+
]
89+
},
90+
}'
91+
```
92+
## Retrieve the status of the run
93+
94+
```bash
95+
curl --request GET \
96+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/runs/run_abc123?api-version=$API_VERSION \
97+
-H "Authorization: Bearer $AGENT_TOKEN"
98+
```
99+
100+
## Retrieve the agent response
101+
102+
```bash
103+
curl --request GET \
104+
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/messages?api-version=$API_VERSION \
105+
-H "Authorization: Bearer $AGENT_TOKEN"
106+
```

0 commit comments

Comments
 (0)