Skip to content

Commit 9f35429

Browse files
Merge pull request #312252 from MicrosoftDocs/main
Auto Publish – main to live - 2026-02-25 06:00 UTC
2 parents d846c9c + 5f74c79 commit 9f35429

100 files changed

Lines changed: 1319 additions & 1012 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
44 KB
Loading
51.2 KB
Loading
33.7 KB
Loading

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

Lines changed: 86 additions & 51 deletions
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

55
ms.service: azure-api-center
66
ms.topic: concept-article
7-
ms.date: 02/05/2026
7+
ms.date: 02/20/2026
88

99
ms.collection: ce-skilling-ai-copilot
1010
ms.update-cycle: 180-days
@@ -13,58 +13,86 @@ ms.custom:
1313
- build-2025
1414
---
1515

16-
# Register and discover remote MCP servers in your API inventory
16+
# Register and discover MCP servers in your API inventory
1717

18-
This article describes how to use Azure API Center to maintain an inventory (or *registry*) of remote model context protocol (MCP) servers and help stakeholders discover them through the API Center portal. MCP servers expose backend APIs or data sources in a standard way to AI agents and models that consume them.
18+
This article describes how to use Azure API Center to maintain an inventory (or *registry*) of remote or local model context protocol (MCP) servers and help stakeholders discover them through the API Center portal. MCP servers expose backend APIs or data sources in a standard way to AI agents and models that consume them.
1919

20-
> [!NOTE]
21-
> New! MCP servers registered in your API Center can now be integrated with Microsoft Foundry's tool catalogs, enabling you to govern MCP tools and make them available to AI agents. Learn more in [Tool catalog for agents in Foundry](/azure/ai-foundry/agents/concepts/tool-catalog) and [Private tool catalogs for Foundry agents](/azure/ai-foundry/agents/how-to/private-tool-catalog).
22-
23-
[!INCLUDE [about-mcp-servers](includes/about-mcp-servers.md)]
24-
25-
## Manually register an MCP server in your API inventory
26-
27-
The following sections describe how to manually add a remote MCP server to your API center inventory.
28-
29-
### MCP API type
30-
31-
Manually register an MCP server in your API center inventory similar to the way you register other APIs. Specify the API type as **MCP**. To register an API by using the Azure portal, see [Tutorial: Register APIs in your API inventory](././tutorials/register-apis.md).
32-
33-
As described in the following sections, when you register an MCP server, you can specify an environment, deployment, and definition.
20+
As shown in this article, you can register remote or local MCP servers by using the Azure portal similar to the way you register APIs and other assets. API Center also provides links to partner MCP servers you can register in your inventory.
3421

3522
> [!TIP]
3623
> If you manage MCP servers in Azure API Management, you can enable automatic synchronization to keep your API center up to date with MCP servers and other APIs from your API Management instance. To learn more, see [Synchronize APIs from Azure API Management instance](synchronize-api-management-apis.md).
3724
25+
> [!NOTE]
26+
> New! MCP servers registered in your API center can now be integrated with Microsoft Foundry's tool catalogs, enabling you to govern MCP tools and make them available to AI agents. Learn more in [Tool catalog for agents in Foundry](/azure/ai-foundry/agents/concepts/tool-catalog) and [Private tool catalogs for Foundry agents](/azure/ai-foundry/agents/how-to/private-tool-catalog).
3827
39-
### Environment and deployment for MCP server
40-
41-
In API Center, specify an *environment* and a *deployment* for your MCP server. The environment is the location of the MCP server, such as an API management platform or a compute service. The deployment is a runtime URL for the MCP service.
42-
43-
For information about creating an environment and a deployment, see [Tutorial: Add environments and deployments for APIs](././tutorials/configure-environments-deployments.md).
44-
45-
### Definition for remote MCP server
46-
47-
Optionally, add an API definition for a remote MCP server in OpenAPI 3.0 format. The API definition must include a URL endpoint for the MCP server. For an example of adding an OpenAPI definition, see [Tutorial: Register APIs in your API inventory](././tutorials/register-apis.md#add-a-definition-to-your-version).
48-
49-
50-
Use the following lightweight OpenAPI 3.0 API definition for your MCP server, which includes a `url` endpoint for the MCP server:
51-
28+
[!INCLUDE [about-mcp-servers](includes/about-mcp-servers.md)]
5229

53-
```json
54-
{
55-
"openapi": "3.0.0",
56-
"info": {
57-
"title": "Demo MCP server",
58-
"description": "Very basic MCP server that exposes mock tools and prompts.",
59-
"version": "1.0"
60-
},
61-
"servers": [
62-
{
63-
"url": "https://my-mcp-server.contoso.com"
64-
}
65-
]
66-
}
67-
```
30+
## Prerequisites
31+
32+
- An API center. If you don't have an API center yet, see the quickstart to [Create an API center](set-up-api-center.md).
33+
- A remote MCP server URL endpoint or an MCP server package that you want to register.
34+
- (For a remote MCP server) An [environment](configure-environments-deployments.md#environment) in your API center to associate with the MCP server. The environment is the location of the MCP server, such as an API management platform or a compute service.
35+
36+
## Register a remote MCP server
37+
38+
To register a remote MCP server:
39+
40+
1. Sign in to the [Azure portal](https://portal.azure.com) and go to your API center.
41+
1. In the sidebar menu, under **Inventory**, select **Assets**.
42+
1. Select **+ Register an asset** > **MCP server**.
43+
:::image type="content" source="media/register-discover-mcp-server/register-mcp-server.png" alt-text="Screenshot showing registration of an MCP server asset in the portal.":::
44+
1. In the **Register an MCP server** form, provide the information about the MCP server:
45+
1. Enter a **Title** for the MCP server. API Center automatically generates an **Identification** based on the title, but you can edit it if needed.
46+
1. Enter a **Summary** and **Description** for the MCP server to provide more context about it.
47+
1. Optionally enter an **Icon URL** to associate an image with the MCP server.
48+
1. Under **Use Cases**, optionally provide a name and description for one or more use cases for the MCP server.
49+
1. Under **Remotes**, do the following:
50+
1. Select **+ Add remote**.
51+
1. Enter a **Runtime URL** for the MCP server.
52+
1. Select an API Center **Environment** that corresponds to the location of the MCP server, such as an API management platform or a compute service.
53+
1. Select **Save**.
54+
:::image type="content" source="media/register-discover-mcp-server/register-remote.png" alt-text="Screenshot showing registration of a remote MCP server in the portal.":::
55+
1. Optionally, repeat the previous steps to add more remotes if the MCP server has multiple endpoints or is deployed in multiple environments.
56+
1. Optionally, select **Add repository** to provide a URL to a code repository associated with the MCP server.
57+
1. Under **Version title**, provide a **Version title**, **Version identification**, and **Version lifecycle** for the MCP server. Learn more about [versions in API Center](key-concepts.md#api-version).
58+
1. Optionally, add **License** and **External documentation** links and associated information for the MCP server.
59+
1. Select **Create**.
60+
61+
### Definitions for remote MCP server
62+
63+
API Center automatically generates the following OpenAPI definitions for a remote MCP server and associates them with the server version you register:
64+
65+
- SSE definition, for using server-sent events (SSE) as an agentic protocol
66+
- Streamable definition, for using a transport-agnostic agentic protocol
67+
68+
## Register a local MCP server
69+
70+
You can register an MCP server that's installed locally using a package manager such as `npm` or `pypi`.
71+
72+
To register a local MCP server:
73+
74+
1. Sign in to the [Azure portal](https://portal.azure.com) and go to your API center.
75+
1. In the sidebar menu, under **Inventory**, select **Assets**.
76+
1. Select **+ Register an asset** > **MCP server**.
77+
:::image type="content" source="media/register-discover-mcp-server/register-mcp-server.png" alt-text="Screenshot showing registration of an MCP server asset in the portal.":::
78+
1. In the **Register an MCP server** form, provide the information about the MCP server:
79+
1. Enter a **Title** for the MCP server. API Center automatically generates an **Identification** based on the title, but you can edit it if needed.
80+
1. Enter a **Summary** and **Description** for the MCP server to provide more context about it.
81+
1. Optionally enter an **Icon URL** to associate an image with the MCP server.
82+
1. Under **Use Cases**, optionally provide a name and description for one or more use cases for the MCP server.
83+
1. Under **Packages**, do the following:
84+
1. Select **+ Add package**.
85+
1. Enter a **Package registry** for installation of the MCP server. For example, `npm`.
86+
1. Enter a **Package name** from the package registry and a **Version**.
87+
1. In **Runtime hint**, enter the runtime command used to run the MCP server. For example, `npx`.
88+
1. In **Runtime arguments**, optionally pass arguments when running the MCP server.
89+
1. Select **Save**.
90+
:::image type="content" source="media/register-discover-mcp-server/register-package.png" alt-text="Screenshot showing registration of an MCP server package in the portal.":::
91+
1. Optionally, repeat the previous steps to add more packages if the MCP server is available in multiple package registries or has multiple versions.
92+
1. Optionally, select **Add repository** to provide a URL to a code repository associated with the MCP server.
93+
1. Under **Version title**, provide a **Version title**, **Version identification**, and **Version lifecycle** for the MCP server. Learn more about [versions in API Center](key-concepts.md#api-version).
94+
1. Optionally, add **License** and **External documentation** links and associated information for the MCP server.
95+
1. Select **Create**.
6896

6997
## Register a partner MCP server
7098

@@ -84,19 +112,26 @@ When you add a partner MCP server, API Center automatically configures the follo
84112

85113
* Creates an API entry in your API inventory with the API type set to **MCP**.
86114
* Creates an environment and a deployment for the MCP server.
87-
* Adds an OpenAPI definition for the MCP server if the partner provides one.
115+
* Adds OpenAPI definitions for the MCP server if the partner provides them.
88116

89-
To build and register a Logic Apps MCP server, see [Build and register a Logic Apps MCP server](../logic-apps/create-mcp-server-api-center.md).
117+
## Build and register your own MCP servers
90118

91-
## Discover MCP servers using API Center portal
119+
To build MCP servers by using Azure compute services and register them in your API center, see the following examples:
120+
121+
- [Build and register a Logic Apps MCP server](../logic-apps/create-mcp-server-api-center.md)
122+
- [Build and register an Azure Functions MCP server](/azure/ai-foundry/mcp/build-your-own-mcp-server)
92123

93-
Set up your [API Center portal](set-up-api-center-portal.md) so that developers and other stakeholders in your organization can discover MCP servers in your API inventory. Users can browse and filter MCP servers in the inventory and view details such as the URL endpoint of the MCP server, if available in the MCP server's API definition.
124+
## Discover MCP servers using API Center portal
94125

126+
Set up your [API Center portal](set-up-api-center-portal.md) so that developers and other stakeholders in your organization can discover MCP servers in your API inventory. From the API Center portal, users can do the following:
127+
- Browse and filter MCP servers in the inventory.
128+
- For remote MCP servers, view details such as the URL endpoint of the MCP server and API definition, and install the MCP server in their Visual Studio Code environment.
95129

96130
:::image type="content" source="media/register-discover-mcp-server/mcp-server-portal-small.png" lightbox="media/register-discover-mcp-server/mcp-server-portal.png" alt-text="Screenshot of MCP server in API Center portal.":::
97131

98-
> [!NOTE]
99-
> The URL endpoint for the MCP server is only visible in the API Center portal if an MCP deployment and an API definition for the MCP server are configured in the API center.
132+
## Manage access to MCP servers
133+
134+
Optionally, use API Center's access management capabilities to manage who can view and access MCP servers in your inventory. For more information, see [Authorize access to APIs in your API center](authorize-api-access.md).
100135

101136
## Related content
102137

articles/api-management/api-management-howto-ca-certificates.md

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

77
ms.service: azure-api-management
88
ms.topic: how-to
9-
ms.date: 09/30/2025
9+
ms.date: 02/17/2026
1010
ms.author: danlep
1111
ms.custom:
1212
- sfi-image-nochange
@@ -18,10 +18,12 @@ ms.custom:
1818

1919
**APPLIES TO: Developer | Basic | Standard | Premium**
2020

21-
Azure API Management allows you to install CA certificates on the machine inside the trusted root and intermediate certificate stores. You should use this functionality if your services require a custom CA certificate.
21+
Azure API Management allows you to upload and install CA certificates on the machine inside the trusted root and intermediate certificate stores. Use this functionality if your services require a custom CA certificate.
2222

2323
This article shows how to manage CA certificates of an API Management instance in the Azure portal. For example, if you use self-signed client certificates, you can upload custom trusted root certificates to API Management.
2424

25+
[!INCLUDE [api-management-ca-certificate-v2-tiers](../../includes/api-management-ca-certificate-v2-tiers.md)]
26+
2527
CA certificates uploaded to API Management can be used for certificate validation only by the managed API Management gateway. If you use the [self-hosted gateway](self-hosted-gateway-overview.md), you can learn how to [create a custom CA for self-hosted gateway](#create-custom-ca-for-a-self-hosted-gateway) later in this article.
2628

2729
[!INCLUDE [api-management-workspace-availability](../../includes/api-management-workspace-availability.md)]

articles/api-management/api-management-region-availability.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Information in the following table is updated regularly. Capacity availability i
3131
| Australia East |||||
3232
| Australia Southeast ||| | |
3333
| Brazil South ||| | |
34-
| Canada Central ||| | |
34+
| Canada Central ||| | |
3535
| Central India ||| | |
3636
| Central US ||| | |
3737
| East Asia ||| ||

articles/api-management/backends.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ To add CA certificate details, follow these steps:
108108
1. In the **Authorization credentials** section of the backend configuration, select **CA Certificates**.
109109
1. Select **+ Add CA certificate details**.
110110
1. In the **Add CA certificate** pane, select one of the following options:
111-
* **Certificate thumbprint** - Enter the thumbprint (a SHA-1, SHA-256, or SHA-512 hash) of a custom CA certificate.
112-
* **Subject name and issuer thumbprint** - Enter the subject name that uniquely identifies the CA and the thumbprint of the CA.
111+
* **Certificate thumbprint** - Enter the issuer thumbprint (a SHA-1, SHA-256, or SHA-512 hash) of a custom CA certificate.
112+
* **Subject name and issuer thumbprint** - In addition to the issuer thumbprint, enter the subject name (CN or common name of the leaf certificate) that identifies the hostname it secures (for example, `api.contoso.com` or `*.contoso.com`).
113113
1. Select **Add**.
114114
1. Select **Create**.
115115

articles/app-service/configure-language-python.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ This container has the following characteristics:
228228
- Apps are run by the [Gunicorn WSGI HTTP Server](https://gunicorn.org/) with the extra arguments `--bind=0.0.0.0 --timeout 600`.
229229
- You can provide configuration settings for Gunicorn by [customizing the startup command](#customize-startup-command).
230230

231-
- To protect your web app from accidental or deliberate DDOS attacks, Gunicorn is run behind an Nginx reverse proxy, as described in [Deploying Gunicorn](https://docs.gunicorn.org/en/latest/deploy.html).
231+
- To protect your web app from accidental or deliberate DDOS attacks, Gunicorn is run behind an Nginx reverse proxy, as described in [Deploying Gunicorn](https://gunicorn.org/deploy).
232232

233233
- By default, the base container image includes only the Flask web framework, but the container supports other frameworks that are WSGI-compliant and compatible with Python 3.6 and later, such as Django.
234234

@@ -316,7 +316,7 @@ App Service ignores any errors that occur when processing a custom startup comma
316316
gunicorn --bind=0.0.0.0 --timeout 600 --workers=4 --chdir <module_path> <module>.wsgi
317317
```
318318
319-
For more information, see [Running Gunicorn](https://docs.gunicorn.org/en/stable/run.html). If you're using autoscale rules to scale your web app up and down, you should also dynamically set the number of Gunicorn workers by using the `NUM_CORES` environment variable in your startup command. For example, `--workers $((($NUM_CORES*2)+1))`. For more information on setting the recommended number of Gunicorn workers, see [the Gunicorn FAQ](https://docs.gunicorn.org/en/stable/design.html#how-many-workers).
319+
For more information, see [Running Gunicorn](https://gunicorn.org/run/). If you're using autoscale rules to scale your web app up and down, you should also dynamically set the number of Gunicorn workers by using the `NUM_CORES` environment variable in your startup command. For example, `--workers $((($NUM_CORES*2)+1))`. For more information on setting the recommended number of Gunicorn workers, see [the Gunicorn FAQ](https://gunicorn.org/design/#how-many-workers).
320320
321321
- **Enable production logging for Django**: Add the `--access-logfile '-'` and `--error-logfile '-'` arguments to the command line:
322322
@@ -327,7 +327,7 @@ App Service ignores any errors that occur when processing a custom startup comma
327327
328328
These logs will appear in the [App Service log stream](#access-diagnostic-logs).
329329
330-
For more information, see [Gunicorn logging](https://docs.gunicorn.org/en/stable/settings.html#logging).
330+
For more information, see [Gunicorn logging](https://gunicorn.org/deploy/#logging).
331331
332332
- **Custom Flask main module**: By default, App Service assumes that a Flask app's main module is *application.py* or *app.py*. If your main module uses a different name, you must customize the startup command. For example, if you have a Flask app whose main module is *hello.py* and the Flask app object in that file is named *myapp*, this is the command:
333333

0 commit comments

Comments
 (0)