DEV Community

Daniel Jonathan
Daniel Jonathan

Posted on

πŸ”Œ Exposing Logic Apps MCP Server via Azure API Management (APIM)

πŸ”Œ 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.

Image description1


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

APIMMCPRegistering


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:

Image description2

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 } } } 
Enter fullscreen mode Exit fullscreen mode

Response

{ "content": [ { "type": "text", "text": "{\"result\":6}" } ], "isError": false } 
Enter fullscreen mode Exit fullscreen mode

Image description3

βœ… 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)