aprildunnam/JokesMCP
If you are the rightful owner of JokesMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Model Context Protocol (MCP) server is a standardized interface that facilitates interaction between external systems and AI models by providing relevant context and receiving responses.
Using an MCP Server with Microsoft Copilot Studio 🧠🤖
Welcome to the using an MCP Server with Microsoft Copilot Studio 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 a standardized interface developed by Anthropic that enables external systems to interact with AI models by providing relevant context and receiving responses. In Microsoft Copilot Studio, you can add an MCP Server as a action. MCP Servers can consist of resources, tools and/or prompts. The tools are currently supported in Microsoft Copilot Studio.
MCP vs Connectors
TODO: Why would you use MCP instead of connectors?
Prerequisites
- Azure Subscription (with payment method added)
- Node installed (preferably with NVM)
- Have a GitHub account and be logged in
Minimal Path To Awesome
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
- Set up the MCP Server as an Azure Web App
- Create the Power Platform Connector
- Add the MCP Server as an action in Microsoft Copilot Studio
Part 1: 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
Public(if you want to make the repository publicly available) orPrivate(if you want to keep it private - RECOMMENDED) -
Select
Create repositoryThis 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.
Part 2: Deploy the Azure Web App and configure it to grab the source from the GitHub repository
1. Go to portal.azure.com

2. Hover over the Resource groups tab and select Create

3. Click the Subscription dropdown and select your subscription from the list

4. Click in the Resource group name text box and type a resource group name such as "jokesgrp"

5. Select the Region dropdown choose the region closest to you

6. Click Review + create

7. Click Create

8. Select Go to resource group

9. Select Create

10. Click into the search box

11. Type web app
12. Select the Create button in the Web App search result

13. Select Web App

14. Select the Name text input and put in a name for the web app, such as "wegotjokes"

15. Select the Runtime stack dropdown and choose Node 22 LTS

16. Select the Region dropdown and choose the region closest to you

17. Click Review + create

18. Click Create

19. Click Refresh to update your deployment progress

20. Once deployment is complete, select Go to resource

21. Expand the Deployment tab

22. Click Deployment Center

23. Click the Source dropdown and select GitHub

24. Go to the Jokes MCP Server Repo and select Use this template

25. Select Create a new repository

26. Choose your repo as the owner

27. Enter a repository name, such as "aprilgotjokes"

28. Click Create repository

29. Go back to the Deployment Center in Azure

30. Select Authorize

31. Select Continue

32. Select Authorize AzureAppService

33. Click the Organization dropdown and choose your organization

34. Click on the Repository dropdown and dhoose your GitHub repo from the list

35. Click the Branch dropdown and choose your branch

36. Keep everything else default and select Save

37. Click Refresh to update the deployment status

38. Verify that the deployment is complete

Part 3: Create the Power Platform Connector
-
Replace the
hostin the below OpenAPI v2 spec with the host of your web API -
Select
Morein the left menu -
Select the
Discover allbutton -
Under Data, select the
pin iconnext toCustom connectorsto pin it to the left menu -
Select
Custom connectorsin the left menu -
Select
New custom connector -
Select
Create from blank
-
Give the connector a name (for instance
JokesMCP) -
Select the blue
Continuebutton -
Select the
Swagger editortoggle
-
Copy the yaml code from and replace the code in the Swagger editor
-
Select
Create connectorto create the connector
Part 4: Add the MCP Server as an action in Microsoft Copilot Studio
TODO: write the instructions
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:
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.