Exposing API as MCP Server in Azure API Manager is not passing POST body to API

Chris Hammond 41 Reputation points
2025-07-10T11:52:56.3166667+00:00

I am trying to expose my API as an MCP server through Azure API Manager.

The API has a POST endpoint which accepts a simple body of 2 numbers

{
  "number1": 10,
  "number2": 5
}

It then does some very basic math on them (add, subtract, multiply, divide) and returns the data as a collection.

{
    "results": [
        {
            "number1": 10,
            "number2": 5,
            "action": "Add",
            "result": 15
        },
        {
            "number1": 10,
            "number2": 5,
            "action": "Subtract",
            "result": 5
        },
        {
            "number1": 10,
            "number2": 5,
            "action": "Multiply",
            "result": 50
        },
        {
            "number1": 10,
            "number2": 5,
            "action": "Divide",
            "result": 2
        }
    ]
}

The API is working completely as expected when used as a regular API call.

Now, I've gone through the online Microsoft Material to expose as an MCP server.

In POSTMAN, I can connect to the MCP server and get the list of tools (just one) and it then provides a form to fill in the numbers as per screenshot below.

enter image description here

When I fill in the values, it populates then form on the right had side correctly but when I hit RUN (aka Send), it calls the API (I can see in the logs) but there does not appear to be any body content passed.

My logs. The vertical bars are delimiters I add to "bracket" the message better

2025-07-10T10:22:59Z [Information] MCPEvalController triggered.

2025-07-10T10:22:59Z [Information] Request Body: ||

If I change the API to a GET and just use static values (in the code), then the MCP server actually returns me the correct response.

So, why is my payload body not being passed to my API

Azure API Management
Azure API Management
An Azure service that provides a hybrid, multi-cloud management platform for APIs.
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.