このエントリは2025/05/30現在の情報に基づいています。将来の機能追加や変更に伴い、記載事項からの乖離が発生する可能性があります。
(2025/06/30更新)公開を忘れていたら、以下で丁寧に記載されていたので、ほとんど公開する意味はないのだが、一応メモとして残しておく。
【コーディング無し】既存 API サーバーを MCP サーバーに一瞬で変える方法
https://zenn.dev/microsoft/articles/expose-mcp-server-in-apim
問い合わせ
API Managementを愛するいつもの主から以下のような問い合わせがあった。
この前のBuildで、Azure API Management (APIM) でホストしているAPIを、MCP (Model Context Protocol) 経由でエージェントから呼び出せるようになった、ということやったけど、それってどうなん?認証とかどうすればええのん?
APIMがMCP Serverの機能を持つ、というのは以下のドキュメントの通り。
API Management で MCP サーバーとして REST API を公開する / Expose REST API in API Management as an MCP server
https://learn.microsoft.com/azure/api-management/export-rest-mcp-server
前提条件
利用可能なSKU
現時点(2025/5/30)では、以下のSKUに制限されている。「なぜV2に対応していないのか?」とかいろいろあると思うが、Public Previewなので。。。2025/10/10現在ではDeveloper、Consumption以外であれば利用できる。
| Type | SKU | Supported? |
|---|---|---|
| STv2 | Consumption | ❌ |
| Basic | ✅ | |
| Standard | ✅ | |
| Premium | ✅ | |
| Developer | ❌ | |
| V2 | Basic | ✅ |
| Standard | ✅ | |
| Premium | ✅ |
早期更新グループに参加する (Classicのみ)
ドキュメントにも記載の通り、AI ゲートウェイの早期更新グループが対象なので、以下のドキュメントに従って、早期更新グループに参加しておく必要がある。
API Management インスタンスのサービス更新設定を構成する / Configure service update settings for your API Management instances
https://learn.microsoft.com/azure/api-management/configure-service-update-settings
なお、この更新グループへの参加は即時ではないので、速ければ1日、遅ければ数日必要。
V2であれば、デフォルトで利用できる。
MCP関連機能を利用できる所定のURLを使って、Azure Portalにアクセスする
これもドキュメントに記載があるが、通常のAzure Portalだと機能にアクセスできないので、 https://portal.azure.com/?Microsoft_Azure_ApiManagement=mcp と、MCP機能にアクセスできるfeature flagを付けてアクセスする必要がある。下図はこのURL経由でアクセスしなかった場合(左)とアクセスした場合(右)の、Azure Portalの左側に現れるサブメニューのスクリーンショット。右側にはMCP Serversというメニューが現れているのに対し、左側には当該メニューが出てこない。
V2の場合は、フラグ無しでもサブメニューに現れる。


MCP Server化するには
上記URLでAzure Portalにアクセスし、MCP Server化したいAPIを選択し、MCP Serverとして登録する。今回は呼び出し元のPublic IPアドレスを取得するipifyというサービスをAPIMの背後で呼び出している。
ipify – A Simple Public IP Address API
https://www.ipify.org/

登録すると、MCP Serverとして公開される。Endpoint URLは以下のルールに従う。
| SSE endpoint (非推奨) | https://<APIMのインスタンス名>.azure-api.net/<オリジナルのAPI名>-mcp/sse https://<APIMのインスタンス名>.azure-api.net/<オリジナルのAPI名>-mcp/messages |
| – MCP endpoint – Streamable HTTP | https://<APIMのインスタンス名>.azure-api.net/<オリジナルのAPI名>-mcp/mcp |
これでおしまい。
MCP Serverとして公開したAPIの他のOperationもMCP Serverとして公開したい
MCP Serverとして公開したAPIは以下のようにConfigurationで✅が入っている。同じAPIに含まれるOperationを後から追加するなら、ここで✅を入れればOK。

MCP Serverで認証・認可を構成したい
Policiesのページを開くと、見慣れたinbound/outbound/backend/on-errorセクションでのポリシー構成が可能である。ここでMCP Serverに対して認証・認可やthlottlingなどを構成できる。注意点は以下のあたり。
- このMCP ServerのポリシーはAPIレベル(ドキュメント上は、APIに含まれるすべてのoperationに対して機能する、という表現がある)
- オリジナルのAPIのポリシーも同様に機能する(global > workspace > API > operationの順で継承する)

試してみる
VS CodeのCopilot ChatからMCP Serverを呼び出して確認する。構成方法は数多あるBlogに記載されているが、ドキュメントにも記載があるので、そんなに迷うことはないはず(知らんけど)。
MCP サーバーをテストして使用する / Test and use the MCP server
https://learn.microsoft.com/azure/api-management/export-rest-mcp-server#test-and-use-the-mcp-server
VS Codeで雑に呼び出してみたところ、期待していた値が取得できた(さすがにPublic IPを晒すわけにはいかないので、マスクしているのはご勘弁を)。
