An Azure service that provides a hybrid, multi-cloud management platform for APIs.
I fixed the issue by myself.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Following the doc and tutorial, now I can Expose an API as an MCP Server as follows:
PII Image
I can confirm the API works as expected without issue!
But after I get the above MCP, I tried to integrate it into my Github Copilot agent in both VS code and CLI. But I noticed that the agent failed to connect the MCP server. It seems that the MCP server need do OAuth authentication!
PII Image
The tutorial is totally ignoring this part. And all the related articles on internet also do not mentioned this. These articles are several months old, so I guess APIM did some update recently during the period of time.
An Azure service that provides a hybrid, multi-cloud management platform for APIs.
I fixed the issue by myself.
I think MCP on APIM just uses the normal APIM auth, and u call it with Ocp-Apim-Subscription-Key or Authorization: Bearer <token>. nothing special added for MCP.
Hi @Chris Bao
Thank you for reaching out to Microsoft Q&A.
The issue you’re experiencing with the Custom HTML Code widget in the Azure API Management Developer Portal is primarily due to how this widget is implemented and rendered. The Custom HTML widget is designed as a lightweight mechanism and renders the provided HTML inside an iframe. Because of this iframe behavior, after publishing the page, the widget may become difficult or impossible to select using the visual editor. As a result, you may not see the “Edit widget” option or may be unable to click on the widget at all. Although the developer portal supports editing widgets after publishing, this limitation specifically affects HTML widgets due to UI interaction constraints (iframe capturing clicks, layering issues, or portal rendering behavior). This is a known usability limitation rather than a permissions issue. [learn.microsoft.com]
Refer below points to resolve this issue or this is the workaround: