Integrations
Allows deploying the MCP server using GitHub as the source repository, enabling continuous deployment through Azure App Service integration with GitHub.
The MCP server is built on the TypeScript SDK, providing a type-safe implementation for joke retrieval functionality.
Microsoft Copilot Studio ❤️ MCP
Welcome to the Microsoft Copilot Studio ❤️ MCP lab. In this lab, you will learn how to deploy an MCP Server, and how to add it to Microsoft Copilot Studio.
What is MCP?
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs, defined by Anthropic. MCP provides a standardized way to connect AI models to different data sources and tools. MCP allows makers to seamlessly integrate existing knowledge servers and APIs directly into Copilot Studio.
Currently, Copilot Studio only supports Tools. To learn more about current capabilities, see aka.ms/mcsmcp. There are some known issues & planned improvements. These are listed here.
MCP vs Connectors
When do you use MCP? And when do you use connectors? Will MCP replace connectors?
MCP servers are made available to Copilot Studio using connector infrastructure, so these questions are not really applicable. The fact that MCP servers use the connector infrastructure means they can employ enterprise security and governance controls such as Virtual Network integration, Data Loss Prevention controls, multiple authentication methods—all of which are available in this release—while supporting real-time data access for AI-powered agents.
So, MCP and connectors are really better together.
Prerequisites
- Azure Subscription (with payment method added)
- Have a GitHub account and be logged in
- Copilot Studio trial or developer account
- Power Platform environment provisioned
Lab
To be able to deploy this MCP Server and use it in Microsoft Copilot Studio, you need to go through the following actions:
- Create a new GitHub repository based on the template
- Deploy the Azure Web App
- Create the Power Platform Connector
- Add the MCP Server as an action in Microsoft Copilot Studio
Create a new GitHub repository based on the template
- Select
Use this template
- Select `Create a new repository
- Select the right
Owner
- Give it a
Repository name
- Optionally you can give it a
Description
- Select
Private
- Select
Create repository
This will take a little while. After it's done, you will be directed to the newly created repository.
Warning
After completing the steps in this lab, you will have an MCP Server running on Azure that is publicly available. Ideally, you don't want that. Make sure to delete the Azure Web App after finishing the lab.
Deploy the Azure Web App
- Go to
portal.azure.com
- Hover over the
Resource groups
tab and selectCreate
- Click the
Subscription
dropdown and select your subscription from the list - Click in the
Resource group
name text box and type a resource group name such as "jokesgrp" - Select the
Region
dropdown choose the region closest to you - Click
Review + create
- Click
Create
- Select
Go to resource group
- Select
Create
- Click into the
search box
- Type
web app
- Select the
Create button
in the Web App search result - Select
Web App
- Select the
Name
text input and put in a name for the web app, such as "wegotjokes" - Select the
Runtime stack
dropdown and chooseNode 22 LTS
- Select the
Region
dropdown and choose the region closest to you - Click
Review + create
- Click
Create
- Click
Refresh
to update your deployment progress - Once deployment is complete, select
Go to resource
- Expand the
Deployment
tab - Click
Deployment Center
- Click the
Source
dropdown and selectGitHub
- Select
Authorize
- Select
Continue
- Select
Authorize AzureAppService
- Click the
Organization
dropdown and choose your organization - Click on the
Repository
dropdown and choose the GitHub repository you created earlier from the list - Click the
Branch
dropdown and choose your branch - Keep everything else default and select
Save
- Click
Refresh
to update the deployment status - Verify that the deployment is complete
Create the Power Platform Connector
- Go to https://make.powerapps.com/
- Select
More
in the left menu - Select the
Discover all
button - Under Data, select the
pin icon
next toCustom connectors
to pin it to the left menu - Select
Custom connectors
in the left menu - Select
New custom connector
- Select
Create from blank
- Give the connector a name (for instance
JokesMCP
) - Select the blue
Continue
button - Select the
Swagger editor
toggle - Copy the yaml code from here and replace the code in the Swagger editor
- In the Swagger editor, replace
dummyurl.azurewebsites.net
with the URL of the web app you created earlier. Make sure to removehttps://
and everything afterazurewebsites.net
- Select
Create connector
to create the connector
Add the MCP Server as an action in Microsoft Copilot Studio
Now you have an MCP Server running in Azure, and a connector available in the Power Platform. This step is about creating an agent in Microsoft Copilot Studio and adding the MCP Server to the agent.
- Go to https://copilotstudio.microsoft.com
- Select the environment picker at the top right corner
- Select the right environment
- Select
Create
in the left navigation - Select the blue
New agent
button - Select
Skip to configure
on the top right - Change the name to
Jokester
- Add the following
Description
Copy - Add the following
Instructions
Copy - Select
Create
on the top right - Enable Generative AI
Orchestration
- Disable general knowledge in the
Knowledge
section - Select
Actions
in the top menu - Select
Add an action
- Search for the name (in this case,
jokes
) of the connector you created earlier (see number 1 in the screenshot below) - Select the
Jokes MCP server
(see number 2 in the screenshot below) - Wait for the connection to be created and select
Next
when it's done - Change the
Description for the agent to know when to use this action
to the following text:Leave the rest as default, like for instance end user authentication, where you will learn more about in a minute.Copy - Select
Add action
to add the action to the agent - Select the
refresh icon
in theTest your agent
pane - In the
Test your agent
pane send the following message:This will show you message that additional permissions are required to run this action. This is because of the user authentication in the action wizard.Copy - Select
Connect
This will open a new window where you can manage your connections for this agent. - Select
Connect
next to theJokesMCP
- Wait until the connection is created and select
Submit
- The connection should now be connected, so the status should be set to
Connected
- Close the manage your connections tab in your browser Now you should be back in the Jokester agent screen.
- Select the
refresh icon
in theTest your agent
pane - In the
Test your agent
pane send the following message:This will now show a Chuck Norris joke - instead of the additional permissions.Copy - In the
Test your agent
pane send the following message:This will now show a Dad joke.Copy - In the
Test your agent
pane send the following message:This will now show a Yo Mama joke.Copy
And that was the Jokes MCP Server working in Microsoft Copilot Studio. This is also the end of the lab! Hopefully you liked the lab. Please take the time to fill in our feedback form.
Jokes MCP Server details
This is a MCP server built on the TypeScript SDK.
With this MCP Server, you will able to fetch jokes from the following websites:
If you want to run the server locally, make sure to run npm install
in the root of the repository.
After that you can run npm run build
to build the server and npm start
to start the server.
Tools
The following tools are included:
get-chuck-joke
This tool retrieves a random Chuck Norris Joke from chucknorris.io.
get-chuck-categories
This tool retrieves the available categories from chucknorris.io.
get-dad-joke
This tool retrieves a random Dad Joke from icanhazdadjoke.com.
get-yo-mama-joke
This tool retrieves a random Yo Mama Joke from yomama-jokes.com.
Known issues and planned improvements
There are some known issues and planned improvements for MCP in Microsoft Copilot Studio. They are listed in this Microsoft Learn article.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
This server cannot be installed
An MCP server that retrieves jokes from three different sources: Chuck Norris jokes, Dad jokes, and Yo Mama jokes.
Related MCP Servers
- -securityAlicense-qualityAn MCP server that enables Microsoft Copilot Studio to fetch jokes from multiple sources including Chuck Norris jokes, Dad jokes, and Yo Mama jokes.Last updated -TypeScriptMIT License
- -securityAlicense-qualityAn MCP server that fetches jokes from multiple sources (Chuck Norris, Dad jokes, and Yo Mama jokes) and integrates with Microsoft Copilot Studio to create a humor-focused conversational experience.Last updated -TypeScriptMIT License
- -securityAlicense-qualityAn MCP server that enables Microsoft Copilot Studio to fetch and deliver various types of jokes (Chuck Norris, Dad jokes, and Yo Mama jokes) from multiple online joke APIs.Last updated -TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Microsoft Copilot Studio to fetch jokes from various sources including Chuck Norris jokes, Dad jokes, and Yo Mama jokes.Last updated -TypeScriptMIT License