logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

joke-delivery-service-mcp

Provides on-demand, amusing anecdotes, intelligently tailored to user preference while maintaining high standards of comedic taste and appropriateness. Leverages Microsoft Copilot Studio integration to source humor from various external data feeds and enrich conversational flow with timely levity.

Author

joke-delivery-service-mcp logo

ralba316

MIT License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 267
Tools 1
Last Updated 2026-02-19

Tags

copilottoolsmicrosoftmicrosoft copilotcopilot mcpcopilot studio

Integration Guide: Humor Engine with Microsoft Copilot Studio via MCP

This documentation details the procedure for deploying an MCP (Model Context Protocol) Server and subsequently integrating it within the Microsoft Copilot Studio environment.

Understanding MCP

The Model Context Protocol (MCP), established by Anthropic, is an open specification designed to unify how applications furnish contextual information to Large Language Models (LLMs). MCP formalizes the linkage between AI computation engines and diverse data repositories or operational utilities. For Copilot Studio creators, this means existing knowledge bases and external service endpoints can be woven directly into agent capabilities.

Presently, Copilot Studio primarily interfaces via its Tooling paradigm. For specifics on current integration methods, consult aka.ms/mcsmcp. Note that ongoing refinement addresses identified constraints and planned feature enhancements, cataloged here.

MCP Versus Standard Connectors

When is MCP the correct choice over conventional Connectors? Will one supersede the other?

MCP servers utilize the existing Connector infrastructure for deployment into Copilot Studio. Consequently, the dichotomy is less about replacement and more about synergy. Because MCP leverages the Connector framework, it inherits robust enterprise security and compliance mechanisms, including Virtual Network encapsulation, Data Loss Prevention mandates, and diverse authentication schemes—all available in this iteration—while simultaneously enabling dynamic data retrieval for AI-driven agents.

Thus, MCP and Connectors function optimally when used in conjunction.

Prerequisites Checklist

  • An active Azure subscription (with a verified payment method).
  • A registered GitHub account with active login credentials.
  • Access to a Copilot Studio trial or developer license.
  • A provisioned Power Platform environment.

Deployment Workflow

To activate this joke-fetching MCP Server and utilize it within Microsoft Copilot Studio, execute the subsequent steps:

Repository Initialization from Template

  1. Click Use this template.
  2. Initiate the creation of a new repository.

  3. Designate the correct Owner.

  4. Assign a unique Repository name.
  5. Optionally, supply a brief Description.
  6. Set visibility to Private.
  7. Select Create repository.

    This initialization phase requires a brief duration. Upon completion, you will be redirected to your newly instantiated repository.

[!WARNING]
Following this lab's procedures results in a publicly exposed MCP Server hosted on Azure. For security, ensure the Azure Web App resource is decommissioned immediately after concluding practical exercises.

Azure Web App Provisioning

  1. Navigate to portal.azure.com.

  2. Locate the Resource groups interface and choose the Create option.

  3. Open the Subscription selector and choose your active subscription.

  4. Input a resource group identifier (e.g., "jokesgrp") into the Resource group field.

  5. Utilize the Region selector to select the geographically nearest operational center.

  6. Proceed by selecting Review + create.

  7. Confirm by clicking Create.

  8. Select Go to resource group.

  9. Initiate a new resource creation by selecting Create.

  10. Interact with the central search box.

  11. Input the term web app.

  12. Select the Create button associated with the Web App search result.

  13. Confirm the resource type selection: Web App.

  14. Populate the Name field with a unique identifier (e.g., "wegotjokes").

  15. From the Runtime stack selector, choose Node 22 LTS.

  16. Re-select the geographically closest Region.

  17. Select Review + create.

  18. Execute the deployment via Create.

  19. Click Refresh to monitor the deployment status updates.

  20. Once deployment confirmation is received, select Go to resource.

  21. Expand the Deployment blade.

  22. Access the Deployment Center.

  23. In the Source dropdown, select GitHub.

  24. Authorize the connection by clicking Authorize.

  25. Select Continue.

  26. Authorize the Azure App Service linkage: Authorize AzureAppService.

  27. Open the Organization selector and choose your corresponding organizational entity.

  28. From the Repository selector, identify and select the GitHub repository established previously.

  29. Choose the correct Branch.

  30. Maintain default settings for all other parameters and click Save.

  31. Re-engage the Refresh mechanism to track the continuous integration deployment progress.

  32. Validate that the deployment process has finalized successfully.

Power Platform Connector Construction

  1. Navigate to https://make.powerapps.com/.
  2. In the navigational panel on the left, select More.
  3. Click the comprehensive discovery control: Discover all button.
  4. Under the 'Data' grouping, activate the pin icon adjacent to Custom connectors to secure it within the main menu.
  5. Select Custom connectors from the left-hand navigation.
  6. Initiate a new connector instance: New custom connector.
  7. Choose the manual setup option: Create from blank.

  8. Assign a name to the connector (e.g., JokesMCP).

  9. Select the affirmative Continue button (colored blue).
  10. Toggle the Swagger editor switch to the 'on' position.

  11. Substitute the editor's contents with the YAML definition sourced from here.

  12. Within the Swagger configuration, replace the placeholder dummyurl.azurewebsites.net with the fully qualified domain name of the web application deployed above. Ensure that the https:// prefix and any path segments following .azurewebsites.net are omitted.
  13. Finalize the creation process by selecting Create connector.

Incorporating the MCP Server into Microsoft Copilot Studio Actions

At this stage, the Azure-hosted MCP Server is operational, and its corresponding connector is registered in Power Platform. The next phase involves creating an agent within Microsoft Copilot Studio and linking it to the new MCP Server functionality.

  1. Access the platform at https://copilotstudio.microsoft.com.
  2. Utilize the environment selection tool located in the upper right quadrant.
  3. Designate the appropriate operational environment.
  4. Select Create from the left-side navigation menu.
  5. Click the New agent button (blue).

  6. Bypass initial configuration by selecting Skip to configure in the upper right corner.

  7. Rename the agent to Jokester.

  8. Populate the Description field with the following text:

    text A humor-focused agent that delivers concise, engaging jokes only upon user request, adapting its style to match the user's tone and preferences. It remains in character, avoids repetition, and filters out offensive content to ensure a consistently appropriate and witty experience.

  9. Populate the Instructions section with the following directive set:

    ```text You are a joke-telling assistant. Your sole purpose is to deliver appropriate, clever, and engaging jokes upon request. Follow these rules:

    • Respond only when the user asks for a joke or something related (e.g., "Tell me something funny").
    • Match the tone and humor preference of the user based on their input—clean, dark, dry, pun-based, dad jokes, etc.
    • Never break character or provide information unrelated to humor.
    • Keep jokes concise and clearly formatted.
    • Avoid offensive, discriminatory, or NSFW content.
    • When unsure about humor preference, default to a clever and universally appropriate joke.
    • Do not repeat jokes within the same session.
    • Avoid explaining the joke unless explicitly asked.
    • Be responsive, witty, and quick. ```
  10. Finalize agent creation by selecting Create (top right).

  11. Activate the Generative AI Orchestration feature.

  12. Deactivate default general knowledge retrieval within the Knowledge section.

  13. Navigate to the Actions tab in the upper menu bar.

  14. Select Add an action.

  15. Search using the name (e.g., jokes) of the connector defined previously.

  16. Select the operational component labeled Jokes MCP server.

  17. Await the successful connection establishment, then proceed by selecting Next.

  18. Modify the Description for the agent to know when to use this action to the subsequent text:

    text Trigger this action when a user asks for a joke. It can provide Chuck Norris jokes, Dad jokes and Yo Mama jokes.

Maintain default settings for auxiliary parameters, specifically regarding end-user authorization, which will be addressed momentarily.

  1. Confirm the integration by clicking Add action.

  2. Engage the refresh icon within the Test your agent side panel.

  3. Input the following query into the Test your agent panel:

    text Can I get a Chuck Norris joke?

    This initial attempt will likely prompt a message indicating the necessity of granting further authorization permissions, a consequence of the action wizard's default user authentication settings.

  4. Initiate the connection process by selecting Connect.

This action invokes a new browser tab dedicated to connection management for this agent.

  1. Locate the JokesMCP entry and select Connect beside it.

  2. Wait for the connection status to confirm as established, then click Submit.

  3. The connection status indicator should now display Connected.

  4. Terminate the connection management tab.

    The interface should now revert to the Jokester agent configuration screen.

  5. Re-activate the refresh icon in the Test your agent panel.

  6. Send the test query again:

    text Can I get a Chuck Norris joke?

    The expected outcome is the display of a genuine Chuck Norris joke, not the previous permission prompt.

  7. Submit a request for a different genre:

    text Can I get a Dad joke?

    This should yield a Dad joke.

  8. Submit the final test query:

    text Can I get a Yo Mama joke?

    This should successfully retrieve a Yo Mama joke.

Congratulations! The Jokes MCP Server is now fully operational and integrated within Microsoft Copilot Studio, concluding this tutorial. We value your participation; kindly consider submitting feedback via feedback form.

Details of the Jokes MCP Server

This service instance is an implementation of the MCP specification, constructed using the TypeScript SDK.

This specific MCP Server grants the capability to retrieve humorous content from the following external joke providers: - chucknorris.io - icanhazdadjoke.com - yomama-jokes.com

For local execution of the server environment, execute npm install in the repository's root directory.

Subsequently, compile the server using npm run build and start the runtime with npm start.

Included Utilities (Tools)

The following discrete functions are bundled within this service:

get-chuck-joke

Retrieves a random jest concerning Chuck Norris sourced from chucknorris.io.

get-chuck-categories

Fetches the comprehensive list of available joke categories provided by chucknorris.io.

get-dad-joke

Obtains a random, typically groan-inducing, Dad joke from icanhazdadjoke.com.

get-yo-mama-joke

Retrieves a random "Yo Mama" joke hosted by yomama-jokes.com.

Current Limitations and Future Enhancements

Known deficiencies and planned upgrades for MCP integration within Microsoft Copilot Studio are documented in detail within this Microsoft Learn article.

Collaboration Guidelines

This project actively solicits external contributions and constructive suggestions. Most submissions necessitate agreement to a Contributor License Agreement (CLA), confirming your right to grant usage rights for your contribution. Review details at https://cla.opensource.microsoft.com.

A CLA bot will automatically check pull requests to determine if a CLA is required and will apply appropriate status indicators or commentary. Compliance with this process is typically required only once across all repositories utilizing our CLA.

This project adheres to the Microsoft Open Source Code of Conduct. Further specifics are available in the Code of Conduct FAQ, or contact opencode@microsoft.com for supplementary inquiries.

Trademarks Notice

This material may feature intellectual property associated with specific projects, products, or services. Authorized utilization of Microsoft's proprietary marks or emblems must strictly follow Microsoft's Trademark & Brand Guidelines. Any deployment of modified versions must avoid creating ambiguity or implying Microsoft endorsement. Usage of any third-party trademarks is governed by those respective third parties' policies.

WIKIPEDIA PERSPECTIVE: Business administration instruments encompass all frameworks, software, regulatory mechanisms, computational aids, and strategic methodologies employed by enterprises to navigate dynamic market conditions, secure competitive standing, and elevate operational efficiency. == Overview == Tools map to specific organizational departments and can be categorized by management function, such as forecasting, workflow control, documentation, personnel administration, arbitration, oversight, etc. A functional taxonomy includes:

Instrumentation for data input integrity checks across all units. Systems designed for process governance and refinement. Platforms for aggregating data and supporting executive determinations. Contemporary business toolsets have undergone radical advancement in the preceding decade, propelled by rapid technological shifts, often making optimal selection challenging. This complexity is fueled by persistent objectives: reducing operational expenditure, maximizing revenue generation, achieving deep customer insight, and precisely delivering required products in the preferred format. Given this environment, executive leadership should adopt a strategic viewpoint toward business instrumentation, rather than merely pursuing the newest available utility. Managers frequently implement tools without necessary contextual modification, resulting in systemic instability. Consequently, business systems must be chosen deliberately and subsequently tailored to organizational imperatives, reversing the common practice. == Most Used Metrics == A 2013 analysis by Bain & Company mapped the global deployment of business tools, reflecting how their outputs address regional specificities relative to market downturns and corporate performance. The top ten categories identified were:

Strategic roadmapping Client relationship management frameworks Personnel sentiment surveys Comparative performance analysis (Benchmarking) Integrated performance metrics (Balanced Scorecard) Core organizational capability identification External resource allocation (Outsourcing) Organizational evolution programs Logistics chain oversight Foundational mission and vision articulation Target audience delineation Total quality stewardship == Business Software Applications == Software, defined as a set of programs utilized by commercial users to execute diverse corporate functions, is termed business software (or enterprise application). These applications serve to augment productivity, quantify results, and execute myriad other corporate duties with precision. The evolution progressed from rudimentary Management Information Systems (MIS) to comprehensive Enterprise Resource Planning (ERP) suites. Subsequently, Customer Relationship Management (CRM) modules were incorporated, culminating in the current landscape dominated by cloud-based enterprise resource governance. While a clear relationship exists between IT investment magnitude and organizational achievement, two factors are paramount for value realization: the efficacy of the implementation process and the precision in selecting and customizing the appropriate tooling.

See Also

`