You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/api-center/register-discover-mcp-server.md
+86-51Lines changed: 86 additions & 51 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Learn about how Azure API Center can be a centralized registry for
4
4
5
5
ms.service: azure-api-center
6
6
ms.topic: concept-article
7
-
ms.date: 02/05/2026
7
+
ms.date: 02/20/2026
8
8
9
9
ms.collection: ce-skilling-ai-copilot
10
10
ms.update-cycle: 180-days
@@ -13,58 +13,86 @@ ms.custom:
13
13
- build-2025
14
14
---
15
15
16
-
# Register and discover remote MCP servers in your API inventory
16
+
# Register and discover MCP servers in your API inventory
17
17
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.
19
19
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).
## 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.
34
21
35
22
> [!TIP]
36
23
> 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).
37
24
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).
38
27
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:
"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**.
68
96
69
97
## Register a partner MCP server
70
98
@@ -84,19 +112,26 @@ When you add a partner MCP server, API Center automatically configures the follo
84
112
85
113
* Creates an API entry in your API inventory with the API type set to **MCP**.
86
114
* 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.
88
116
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
90
118
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)
92
123
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
94
125
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.
95
129
96
130
:::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.":::
97
131
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).
Copy file name to clipboardExpand all lines: articles/api-management/api-management-howto-ca-certificates.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ author: dlepow
6
6
7
7
ms.service: azure-api-management
8
8
ms.topic: how-to
9
-
ms.date: 09/30/2025
9
+
ms.date: 02/17/2026
10
10
ms.author: danlep
11
11
ms.custom:
12
12
- sfi-image-nochange
@@ -18,10 +18,12 @@ ms.custom:
18
18
19
19
**APPLIES TO: Developer | Basic | Standard | Premium**
20
20
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.
22
22
23
23
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.
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.
Copy file name to clipboardExpand all lines: articles/api-management/backends.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,8 +108,8 @@ To add CA certificate details, follow these steps:
108
108
1. In the **Authorization credentials** section of the backend configuration, select **CA Certificates**.
109
109
1. Select **+ Add CA certificate details**.
110
110
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`).
Copy file name to clipboardExpand all lines: articles/app-service/configure-language-python.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -228,7 +228,7 @@ This container has the following characteristics:
228
228
- Apps are run by the [Gunicorn WSGI HTTP Server](https://gunicorn.org/) with the extra arguments `--bind=0.0.0.0 --timeout 600`.
229
229
- You can provide configuration settings for Gunicorn by [customizing the startup command](#customize-startup-command).
230
230
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).
232
232
233
233
- 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.
234
234
@@ -316,7 +316,7 @@ App Service ignores any errors that occur when processing a custom startup comma
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).
320
320
321
321
- **Enable production logging for Django**: Add the `--access-logfile '-'` and `--error-logfile '-'` arguments to the command line:
322
322
@@ -327,7 +327,7 @@ App Service ignores any errors that occur when processing a custom startup comma
327
327
328
328
These logs will appear in the [App Service log stream](#access-diagnostic-logs).
329
329
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).
331
331
332
332
- **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:
0 commit comments