π Exposing Logic Apps MCP Server via Azure API Management (APIM)
Modern apps and LLM-powered agents need secure, governed, and consistent ways to access MCP (Model Context Protocol) servers.
With Azure Logic Apps (Standard) you can build MCP tools as workflows β and with API Management (APIM), you can expose them to consumers with enterprise-grade security and monitoring.
1. Create MCP Server in APIM
From the APIM portal, navigate to MCP Servers (preview) and select:
Create MCP server β Expose an existing MCP server.
2. Configure Backend MCP Server
Point APIM to your Logic Apps MCP endpoint:
- MCP server base URL β
https://<your-logicapp>.azurewebsites.net/api/mcp
- Transport type β Streamable HTTP (default for Logic Apps)
- Display name / Name / Base path β Friendly identifiers to surface the server
3. Policy configuration (pass-through)
Because authentication is enforced by the Logic Apps MCP backend, APIM only needs a minimal policy that forwards requests as-is. This keeps Streamable HTTP responses flowing without buffering.
4. Test MCP Tools via APIM
With the MCP server exposed through APIM, you can now call your Logic Apps workflows as MCP tools.
Since authentication is enabled at the Logic Apps backend, APIM just passes requests through β so youβll see the same behavior youβd get when calling the Logic App directly.
3.1 Call without token β Unauthorized (401)
If you send a request without a Bearer token, the backend rejects it:
3.2 Call with valid token β Success
Add a valid OAuth 2.0 Bearer token in your request (APIM forwards it to the Logic Apps Easy Auth layer).
Now the MCP tool executes correctly β here wf_arithmetic_mul
multiplies 2 Γ 3:
Request
{ "method": "tools/call", "params": { "name": "wf_arithmetic_mul", "arguments": { "number1": 2, "number2": 3 } } }
Response
{ "content": [ { "type": "text", "text": "{\"result\":6}" } ], "isError": false }
β This shows that APIM successfully passes the call (and the token) through to the Logic Apps MCP server, which enforces authentication and executes the workflow.
Top comments (0)