Remote MCP using Azure API Management logo

Remote MCP using Azure API Management

by Azure-Samples

This sample demonstrates how to secure Remote MCP Servers using Azure API Management as an AI Gateway. It implements the latest MCP Authorization specification using Azure Functions.

View on GitHub

Last updated: N/A

<!-- --- name: Remote MCP using Azure API Management (Experimental) description: Use Azure API Management as the AI Gateway for MCP Servers using Azure Functions page_type: sample languages: - python - bicep - azdeveloper products: - azure-api-management - azure-functions - azure urlFragment: remote-mcp-apim-functions-python --- -->

Secure Remote MCP Servers using Azure API Management (Experimental)

Diagram

Diagram

Azure API Management acts as the AI Gateway for MCP servers.

This sample implements the latest MCP Authorization specification

This is a sequence diagram to understand the flow.

Deploy Remote MCP Server to Azure

  1. Register Microsoft.App resource provider.

    • If you are using Azure CLI, run az provider register --namespace Microsoft.App --wait.
    • If you are using Azure PowerShell, run Register-AzResourceProvider -ProviderNamespace Microsoft.App. Then run (Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState after some time to check if the registration is complete.
  2. Run this azd command to provision the api management service, function app(with code) and all other required Azure resources

    azd up
    

MCP Inspector

  1. In a new terminal window, install and run MCP Inspector

    npx @modelcontextprotocol/inspector
    
  2. CTRL click to load the MCP Inspector web app from the URL displayed by the app (e.g. http://127.0.0.1:6274/#resources)

  3. Set the transport type to SSE

  4. Set the URL to your running API Management SSE endpoint displayed after azd up and Connect:

    https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
    
  5. List Tools. Click on a tool and Run Tool.