Skip to content

Commit 7d089ac

Browse files
committed
merge upstream
2 parents e7d7aa4 + a522623 commit 7d089ac

File tree

1,053 files changed

+5224
-121657
lines changed

Some content is hidden

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

1,053 files changed

+5224
-121657
lines changed

articles/api-center/includes/about-mcp-servers.md

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: azure-api-center
88
ms.topic: include
9-
ms.date: 05/12/2025
9+
ms.date: 07/16/2025
1010
ms.author: danlep
1111
ms.custom:
1212
- Include file
@@ -21,24 +21,9 @@ The [model context protocol](https://www.anthropic.com/news/model-context-protoc
2121

2222
### MCP architecture
2323

24-
The following diagram illustrates the MCP architecture:
25-
26-
:::image type="content" source="media/about-mcp-servers/mcp-architecture.png" alt-text="Diagram of model context protocol (MCP) architecture.":::
27-
28-
The architecture consists of the following components:
29-
30-
| Component | Description |
31-
|----------------|-------------------------------------------------------------------------------------------------|
32-
| **MCP hosts** | LLM applications such as chat apps or AI assistants in your IDEs (like GitHub Copilot in Visual Studio Code) that need to access external capabilities |
33-
| **MCP clients**| Protocol clients, inside the host application, that maintain 1:1 connections with servers |
34-
| **MCP servers**| Lightweight programs that each expose specific capabilities and provide context, tools, and prompts to clients |
35-
| **MCP protocol**| Transport layer in the middle |
36-
3724
MCP follows a client-server architecture where a host application can connect to multiple servers. Whenever your MCP host or client needs a tool, it connects to the MCP server. The MCP server then connects to, for example, a database or an API. MCP hosts and servers connect with each other through the MCP protocol.
3825

39-
### Remote versus local MCP servers
40-
41-
MCP utilizes a client-host-server architecture built on [JSON-RPC 2.0 for messaging](https://modelcontextprotocol.io/docs/concepts/architecture). Communication between clients and servers occurs over defined transport layers, and supports primarily two modes of operation:
26+
The MCP architecture is built on [JSON-RPC 2.0 for messaging](https://modelcontextprotocol.io/docs/concepts/architecture). Communication between clients and servers occurs over defined transport layers, and supports primarily two modes of operation:
4227

4328
* **Remote MCP servers** - MCP clients connect to MCP servers over the internet, establishing a connection using HTTP and server-sent events (SSE), and authorizing the MCP client access to resources on the user's account using OAuth.
4429

articles/api-center/register-discover-mcp-server.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about how Azure API Center can be a centralized registry for
44
author: dlepow
55
ms.service: azure-api-center
66
ms.topic: concept-article
7-
ms.date: 07/22/2025
7+
ms.date: 08/04/2025
88
ms.author: danlep
99
# Customer intent: As an API program manager, I want to register and discover MCP servers as APIs in my API Center inventory.
1010
ms.custom:
@@ -74,6 +74,7 @@ For a live example of how Azure API Center can power your private, enterprise-re
7474
7575
## Related content
7676

77+
* [About MCP servers in API Management](../api-management/mcp-server-overview.md)
7778
* [Import APIs to your API center from API Management](import-api-management-apis.md)
7879
* [Use the Visual Studio extension for API Center](build-register-apis-vscode-extension.md) to build and register APIs from Visual Studio Code.
7980

articles/api-management/TOC.yml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
items:
237237
- name: AI gateway capabilities in API Management
238238
href: genai-gateway-capabilities.md
239-
- name: Import LLM APIs
239+
- name: Manage LLM APIs
240240
items:
241241
- name: Import Azure AI Foundry API
242242
href: azure-ai-foundry-api.md
@@ -248,12 +248,20 @@
248248
href: openai-compatible-google-gemini-api.md
249249
- name: Import Amazon Bedrock API
250250
href: amazon-bedrock-passthrough-llm-api.md
251-
- name: Expose REST API as MCP server
252-
href: export-rest-mcp-server.md
253-
- name: Semantic caching for Azure OpenAI API requests
254-
href: azure-openai-enable-semantic-caching.md
255-
- name: Authenticate and authorize to Azure OpenAI
256-
href: api-management-authenticate-authorize-azure-openai.md
251+
- name: Semantic caching for LLM API requests
252+
href: azure-openai-enable-semantic-caching.md
253+
- name: Authenticate and authorize to Azure OpenAI
254+
href: api-management-authenticate-authorize-azure-openai.md
255+
- name: Manage MCP servers
256+
items:
257+
- name: MCP server capabilities
258+
href: mcp-server-overview.md
259+
- name: Expose REST API as MCP server
260+
href: export-rest-mcp-server.md
261+
- name: Expose existing MCP server
262+
href: expose-existing-mcp-server.md
263+
- name: Secure access to MCP servers
264+
href: secure-mcp-servers.md
257265
- name: Manage APIs with policies
258266
items:
259267
- name: API Management policies overview

articles/api-management/api-management-features.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ Each API Management [pricing tier](api-management-key-concepts.md#api-management
5252
| Static IP | No | Yes | Yes | No |Yes | No | Yes | No |
5353
| Export API to Power Platform | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
5454
| Export API to Postman | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
55-
| Export API to MCP server (preview) | No | No | Yes | No | Yes | No | Yes | No |
55+
| Export API to MCP server (preview) | No | No | Yes | Yes | Yes | Yes | Yes | Yes |
56+
| Expose existing MCP server (preview) | No | No | Yes | Yes | Yes | Yes | Yes | Yes |
5657

5758
<sup>1</sup> Enables the use of Microsoft Entra ID (and Azure AD B2C or [Microsoft Entra External ID](/entra/external-id/customers/overview-customers-ciam)) as an identity provider for user sign in on the developer portal.<br/>
5859
<sup>2</sup> Including related functionality such as users, groups, issues, applications, and email templates and notifications.<br/>

articles/api-management/api-management-gateways-overview.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@ The following tables compare features available in the following API Management
7777
| [Built-in cache](api-management-howto-cache.md) | ✔️ | ✔️ ||| ✔️ |
7878
| [External Redis-compatible cache](api-management-howto-cache-external.md) | ✔️ | ✔️ |✔️ | ✔️ ||
7979
| [Virtual network injection](virtual-network-concepts.md) | Developer, Premium | Premium v2 || ✔️<sup>1,2</sup> | ✔️ |
80-
| [Inbound private endpoints](private-endpoint.md) | Developer, Basic, Standard, Premium | Standard v2 ||||
80+
| [Inbound private endpoints](private-endpoint.md) | ✔️ | Standard v2 ||||
8181
| [Outbound virtual network integration](integrate-vnet-outbound.md) || Standard v2, Premium v2 ||| ✔️ |
8282
| [Availability zones](zone-redundancy.md) | Premium ||| ✔️<sup>1</sup> ||
8383
| [Multi-region deployment](api-management-howto-deploy-multi-region.md) | Premium ||| ✔️<sup>1</sup> ||
8484
| [CA root certificates](api-management-howto-ca-certificates.md) for certificate validation | ✔️ ||| ✔️<sup>3</sup> ||
85-
| [Managed domain certificates](configure-custom-domain.md?tabs=managed#domain-certificate-options) | Developer, Basic, Standard, Premium || ✔️ |||
85+
| [Managed domain certificates](configure-custom-domain.md?tabs=managed#domain-certificate-options) | ✔️ || ✔️ |||
8686
| [TLS settings](api-management-howto-manage-protocols-ciphers.md) | ✔️ | ✔️ | ✔️ | ✔️ ||
8787
| **HTTP/2** (Client-to-gateway) | ✔️<sup>4</sup> | ✔️<sup>4</sup> || ✔️ ||
8888
| **HTTP/2** (Gateway-to-backend) || ✔️<sup>5</sup> || ✔️<sup>5</sup> ||
@@ -114,8 +114,7 @@ The following tables compare features available in the following API Management
114114
| [Azure OpenAI and LLM](azure-openai-api-from-specification.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
115115
| [Circuit breaker in backend](backends.md#circuit-breaker) | ✔️ | ✔️ || ✔️ | ✔️ |
116116
| [Load-balanced backend pool](backends.md#load-balanced-pool) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
117-
118-
<sup>1</sup> Synthetic GraphQL subscriptions (preview) aren't supported.
117+
| [Pass-through MCP server](expose-existing-mcp-server.md) (preview) | Basic, Standard, Premium | ✔️ ||||
119118

120119
### Policies
121120

articles/api-management/cors-policy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The `cors` policy adds cross-origin resource sharing (CORS) support to an operat
4242
|Name|Description|Required|Default|
4343
|----------|-----------------|--------------|-------------|
4444
|allow-credentials|The `Access-Control-Allow-Credentials` header in the preflight response will be set to the value of this attribute and affect the client's ability to submit credentials in cross-domain requests. Policy expressions are allowed.|No|`false`|
45-
|terminate-unmatched-request|Controls the processing of cross-origin requests that don't match the policy settings. Policy expressions are allowed.<br/><br/>When `OPTIONS` request is processed as a preflight request and `Origin` header doesn't match policy settings:<br/> - If the attribute is set to `true`, immediately terminate the request with an empty `200 OK` response<br/>- If the attribute is set to `false`, check inbound for other in-scope `cors` policies that are direct children of the inbound element and apply them. If no `cors` policies are found, terminate the request with an empty `200 OK` response. <br/><br/>When `GET` or `HEAD` request includes the `Origin` header (and therefore is processed as a simple cross-origin request), and doesn't match policy settings:<br/>- If the attribute is set to `true`, immediately terminate the request with an empty `200 OK` response.<br/> - If the attribute is set to `false`, allow the request to proceed normally and don't add CORS headers to the response.|No|`true`|
45+
|terminate-unmatched-request|Controls the processing of cross-origin requests that don't match the policy settings. Policy expressions are allowed.<br/><br/>When `OPTIONS` request is processed as a preflight request and `Origin` header doesn't match policy settings:<br/> - If the attribute is set to `true`, immediately terminate the request with an empty `200 OK` response<br/>- If the attribute is set to `false`, check inbound for other in-scope `cors` policies that are direct children of the inbound element and apply them. If no `cors` policies are found, terminate the request with an empty `200 OK` response. <br/><br/>When `GET` or `HEAD` request includes the `Origin` header (and therefore is processed as a simple cross-origin request), and doesn't match policy settings:<br/>- If the attribute is set to `true`, immediately terminate the request with an empty `200 OK` response.<br/> - If the attribute is set to `false`, allow the request to proceed normally and don't add CORS headers to the response.|No|`false`|
4646

4747
## Elements
4848

0 commit comments

Comments
 (0)