web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Copilot Studio / Successful deployment ...
Copilot Studio
Suggested Answer

Successful deployment of trivial MCP server for use in Copilot Studio

(0) ShareShare
ReportReport
Posted on by
Hi all. I set myself the goal of deploying a MCP server with an api tool into an Azure Container App and then invoking it from a Copilot Studio agent. It took some trial and error, but ultimately I was successful. Hopefully, this will help you with your own work.
 
I took as my sample app the one provided in this blog post by akitana-airtanker. I deployed it into an Azure Container App - with Ingress turned on. The Ingress feature brings with it port mapping of http to 80 and https to 443. 
 
I tested the deployment by changing the server URL in the repo's client.py app to point to the ACA.
 
Next, I wrote an OpenApi 2.0 spec. This is the tricky bit. According to the mcp samples page, there is no specification of tool inputs. That's almost true. With this line in the spec: x-ms-agentic-protocol: mcp-streamable-1.0, when you create the custom connector, it knows to look at the server and pull in its requirements. But you have to add some bits so the right request headers get added. Here's my final OpenApi spec:
 
{
    "swagger": "2.0",
    "info": {
        "title": "mcp-http-demoApi | v1",
        "description": "An MCP server demo API that adds two numbers.",
        "version": "1.0.0"
    },
    "host": "{my}.{api}.azurecontainerapps.io",
    "basePath": "/",
    "schemes": [
        "https"
    ],
    "paths": {
        "/mcp": {
            "post": {
                "summary": "An MCP server that adds two numbers.",
                "description": "An MCP server that adds two numbers.",
                "x-ms-agentic-protocol": "mcp-streamable-1.0",
                "operationId": "Add",
                "parameters": [
                    {
                        "in": "header",
                        "name": "Accept",
                        "type": "string",
                        "required": true,
                        "default": "application/json, text/event-stream"
                    },
                    {
                        "in": "header",
                        "name": "Content-Type",
                        "type": "string",
                        "required": true,
                        "default": "application/json"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"                        
                    }
                }
            }
        }
    }
}
I have the same question (0)
  • Suggested answer
    GO-20061201-0 Profile Picture
    on at
    Hope this helps!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Copilot Studio

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 261 Super User 2025 Season 2

#2
Romain The Low-Code Bearded Bear Profile Picture

Romain The Low-Code... 198 Super User 2025 Season 2

#3
S-Venkadesh Profile Picture

S-Venkadesh 93 Moderator

Last 30 days Overall leaderboard