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

HumorEngine-Dispatch

A specialized utility designed to furnish jocular content via external joke repositories, intelligently tailoring responses to user-specified contextual parameters for highly personalized amusement. It guarantees terse, amusing outputs characterized by a sharp, droll sensibility applicable across diverse interactive scenarios.

Author

HumorEngine-Dispatch logo

VoltScp

MIT License

Quick Info

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

Tags

mcpmsvoltscphumorfetching jokesvoltscp mcpmsdelivers humor

Integrated Copilot Studio Enhancement via Model Context Protocol (MCP)

This documentation guides you through the deployment sequence for an MCP Server instance and its subsequent integration within the Microsoft Copilot Studio environment.

Understanding the MCP Framework

Model Context Protocol (MCP), established and standardized by Anthropic, defines the official methodology for applications to impart situational awareness to Large Language Models (LLMs). MCP facilitates standardized connectivity between AI inference engines and disparate external data repositories or application programming interfaces (APIs). Consequently, developers can fluidly embed pre-existing knowledge bases and utility endpoints directly into Copilot Studio agents.

Presently, Copilot Studio's native integration primarily focuses on 'Tools.' For a detailed overview of current feature parity, consult aka.ms/mcsmcp. Information concerning existing limitations and forthcoming enhancements is documented here.

Juxtaposing MCP Against Connectors

When should one elect for MCP implementation over standard connectors, and will MCP supersede them entirely?

Since MCP servers are surfaced to Copilot Studio through the existing connector architecture, the premise of replacement is moot. The reliance on the connector infrastructure grants MCP deployments immediate access to established enterprise-grade security and administrative governance frameworks. This includes, but is not limited to, Virtual Network encapsulation, Data Loss Prevention mandates, and multiple authentication pathways—all functional in this iteration—while simultaneously supporting low-latency data retrieval for generative AI entities.

Thus, MCP and connectors are functionally synergistic components.

Initial Requirements

  • An active Azure Subscription (with validated payment particulars).
  • A registered and authenticated GitHub account.
  • Access to a Copilot Studio trial or developer licensing.
  • A fully provisioned Power Platform operational environment.

Deployment Procedure

The successful activation of this MCP Server and its utility within Microsoft Copilot Studio necessitates adherence to the subsequent stages:

Generating a New GitHub Repository from the Blueprint

  1. Select the Use this template directive.
  2. Initiate the creation of a Create a new repository.

  3. Designate the appropriate repository Owner.

  4. Assign a unique Repository name.
  5. Optionally furnish a descriptive Description.
  6. Select the Private visibility setting.
  7. Finalize by selecting Create repository.

    This operation requires a brief duration. Upon completion, you will be redirected to the newly instantiated repository.

[!WARNING]
Executing the steps outlined in this guide results in a publicly accessible MCP Server hosted on Azure. This is generally undesirable. Ensure the Azure Web App is decommissioned immediately following the completion of this instructional exercise.

Provisioning the Azure Web Application

  1. Navigate to portal.azure.com.

  2. Hover over the Resource groups control and select Create.

  3. Utilize the Subscription dropdown to select your designated subscription from the enumeration.

  4. Click within the Resource group designation field and input a name for the resource group, such as "jokesgrp".

  5. From the Region dropdown, select the geographical zone nearest your location.

  6. Execute the Review + create step.

  7. Confirm by clicking Create.

  8. Select the navigational option Go to resource group.

  9. Choose the Create action.

  10. Interact with the ubiquitous search box.

  11. Input the term web app.

  12. In the search results for Web App, click the Create button.

  13. Specify Web App as the resource type.

  14. Engage the Name text input field and furnish an identifier for the web application, e.g., "wegotjokes".

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

  16. Again, select the Region dropdown and choose your geographically proximate data center.

  17. Click Review + create.

  18. Execute the Create command.

  19. Press Refresh to monitor the deployment progress.

  20. Once provisioning is finalized, select Go to resource.

  21. Expand the section labeled Deployment.

  22. Click on Deployment Center.

  23. In the Source dropdown, mandate the selection of GitHub.

  24. Select the Authorize prompt.

  25. Choose Continue.

  26. Select Authorize AzureAppService.

  27. Click the Organization dropdown and select your designated organization.

  28. Click the Repository dropdown and select the repository previously established here from the presented list.

  29. Utilize the Branch dropdown to select your desired branch.

  30. Maintain all remaining configurations at their default settings and finalize with Save.

  31. Click Refresh again to ascertain the deployment outcome.

  32. Confirm the successful conclusion of the deployment process.

Constructing the Power Platform Gateway

  1. Navigate to https://make.powerapps.com/.
  2. In the left-hand navigation panel, select More.
  3. Choose the comprehensive Discover all button.
  4. Under the Data grouping, select the pin icon adjacent to Custom connectors to affix it permanently to the navigation menu.
  5. Select Custom connectors from the persistently visible left menu.
  6. Click New custom connector.
  7. Opt for Create from blank.

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

  9. Select the illuminated blue Continue button.
  10. Activate the Swagger editor toggle switch.

  11. Obtain the OpenAPI (YAML) definition from here and substitute its contents entirely within the Swagger editor pane.

  12. Within the Swagger editor, substitute the placeholder dummyurl.azurewebsites.net with the precise hostname URL of the Azure Web App provisioned previously. Critically, omit the https:// prefix and any trailing path segments beyond .azurewebsites.net.
  13. Finalize the definition by selecting Create connector.

Integrating the MCP Endpoint as an Agent Capability in Copilot Studio

At this juncture, an operational MCP Server resides in Azure, and a functional connector is available within the Power Platform. This phase centers on agent creation in Microsoft Copilot Studio and the attachment of the MCP server's capabilities.

  1. Access the environment at https://copilotstudio.microsoft.com.
  2. Use the environment selector located in the upper-right quadrant.
  3. Select the correct operational environment.
  4. In the left-side navigation structure, select Create.
  5. Click the prominent blue button labeled New agent.

  6. Bypass the initial setup by clicking Skip to configure in the upper right margin.

  7. Modify the display name 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 these directives:

    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. Confirm creation by clicking Create in the upper right corner.

  11. Activate the Generative AI Orchestration features.

  12. Deactivate the broad informational query capability within the Knowledge subsection.

  13. Navigate to the upper menu bar and select Actions.

  14. Click Add an action.

  15. Search using the connector's designated identifier (e.g., jokes) created previously (refer to marker 1 in the subsequent visual aid).

  16. Select the specific artifact named Jokes MCP server (refer to marker 2 in the visual aid).

  17. Await the successful handshake for the connection establishment and then click Next once available.

  18. Modify the Description for the agent to know when to use this action to read as follows:

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

Retain all other settings, such as end-user authentication parameters, in their default state (more on authentication shortly).

  1. Click Add action to bind the utility to the agent profile.

  2. Activate the refresh icon within the Test your agent sidebar.

  3. In the Test your agent input area, submit the query:

    text Can I get a Chuck Norris joke?

    This initial invocation will prompt a notification indicating the necessity for supplementary permissions due to the action wizard's authentication configuration.

  4. Select the Connect button.

A new browser tab will launch, facilitating the management of connection parameters for this agent.

  1. Locate the JokesMCP entry and click Connect adjacent to it.

  2. Allow time for the connection object to finalize provisioning, then click Submit.

  3. The connection status should now definitively display as Connected.

  4. Close the connection management interface tab.

    You are now returned to the main Jokester agent configuration screen.

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

  6. In the Test your agent input area, resubmit the request:

    text Can I get a Chuck Norris joke?

    This time, a Chuck Norris joke should be displayed, bypassing the permission dialogue.

  7. In the Test your agent input area, submit a request for a different category:

    text Can I get a Dad joke?

    This should yield a Dad joke result.

  8. In the Test your agent input area, submit the final test query:

    text Can I get a Yo Mama joke?

    This will retrieve a Yo Mama joke.

Congratulations! The Jokes MCP Server is now fully operational within Microsoft Copilot Studio. This concludes the deployment tutorial. We trust this exercise proved valuable. We encourage you to dedicate a moment to complete our feedback mechanism.

Jokes MCP Server Technical Specifications

This server adheres to the MCP standard and was engineered utilizing the TypeScript SDK.

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

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

Subsequently, the sequence for building and launching the server is: npm run build followed by npm start.

Embedded Utilities

The following modular functions are bundled within this solution:

get-chuck-joke

This utility fetches a single, arbitrary Chuck Norris anecdote sourced exclusively from chucknorris.io.

get-chuck-categories

This function retrieves the comprehensive list of topical categories available from chucknorris.io.

get-dad-joke

This utility retrieves a single, random paternal-themed jest sourced from icanhazdadjoke.com.

get-yo-mama-joke

This utility retrieves a single, random 'Yo Mama' jest sourced from yomama-jokes.com.

Recognized Deficiencies and Future Iterations

Existing limitations and proposed augmentations for MCP integration within Microsoft Copilot Studio are cataloged in the official documentation located at this Microsoft Learn article.

Collaborative Engagement

This repository enthusiastically accepts external contributions and suggested enhancements. Most submissions necessitate acceptance of a Contributor License Agreement (CLA) affirming your authority to grant usage rights for your contribution. Detailed prerequisites are available at https://cla.opensource.microsoft.com.

Upon submission of a pull request, a CLA status bot will automatically ascertain if a CLA signature is required and appropriately annotate the request (e.g., status checks, commentary). Kindly adhere to the instructions provided by the bot. This declaration is a one-time requirement across all repositories utilizing our CLA system.

This project has formally adopted the Microsoft Open Source Code of Conduct. Further context can be found in the Code of Conduct FAQ or by contacting opencode@microsoft.com with any supplemental inquiries.

Trademarks Stipulations

This software artifact may incorporate branding or proprietary identifiers associated with various products or initiatives. Authorized utilization of Microsoft proprietary marks or emblems must strictly conform to Microsoft's Trademark & Brand Guidelines. Integration of Microsoft trademarks into modified project versions must not engender user confusion or imply official endorsement. Any incorporation of third-party trademarks is subject to those respective third parties' established policies.

WIKIPEDIA: As per ISO definitions, distributed computing infrastructure, or "cloud computing," is characterized as "a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

== Defining Attributes == In 2011, the U.S. National Institute of Standards and Technology (NIST) delineated five fundamental "essential characteristics" defining cloud environments. The precise NIST definitions are enumerated below:

On-demand self-service: "A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider." Broad network access: "Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations)." Resource pooling: " The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand." Rapid elasticity: "Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time." Measured service: "Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service." By 2023, the International Organization for Standardization (ISO) had expanded and refined the list.

== Chronology ==

The genesis of distributed computing concepts traces back to the 1960s, when the principle of time-sharing gained traction through remote job entry (RJE). The centralized "data center" paradigm, where users submitted computational tasks to dedicated operators for execution on large mainframe systems, dominated this epoch. This period represented an active phase of investigation into methodologies for broadening access to substantial computational capacity via time-slicing techniques, thereby maximizing infrastructure, platform, and application utility for the end-user base. The figurative representation of virtualized services as a "cloud" originated in 1994, employed by General Magic to describe the collective domain accessible by mobile software agents within its Telescript framework. This metaphor is widely attributed to David Hoffman, an employee of General Magic specializing in communications, drawing inspiration from its established usage within telecommunications networks. The term 'cloud computing' achieved wider recognition in 1996 when Compaq Computer Corporation drafted a strategic blueprint for forthcoming computational models and Internet services. The organization's aspiration was to supplant the reliance on local hardware...

See Also

`