Jokes MCP Server

by kusbr
MIT License

Integrations

  • Enables deployment of the MCP server through GitHub integration with Azure App Service, allowing code to be automatically built and deployed from a GitHub repository.

  • The MCP server is built on the TypeScript SDK for Model Context Protocol, providing a strongly-typed implementation for joke retrieval services.

Microsoft Copilot Studio ❤️ MCP

Bienvenido al laboratorio de Microsoft Copilot Studio ❤️ MCP . En este laboratorio, aprenderá a implementar un servidor MCP y a agregarlo a Microsoft Copilot Studio.

¿Qué es MCP?

El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que estandariza la forma en que las aplicaciones proporcionan contexto a los LLM, definido por Anthropic . MCP proporciona una forma estandarizada de conectar modelos de IA a diferentes fuentes de datos y herramientas. MCP permite a los creadores integrar sin problemas los servidores de conocimiento y las API existentes directamente en Copilot Studio.

Actualmente, Copilot Studio solo es compatible con Herramientas. Para obtener más información sobre las funciones actuales, consulte aka.ms/mcsmcp . Existen algunos problemas conocidos y mejoras planificadas. Se enumeran aquí .

MCP vs. Conectores

¿Cuándo se usa MCP? ¿Y cuándo se usan conectores? ¿Reemplazará el MCP a los conectores?

Los servidores MCP se ponen a disposición de Copilot Studio mediante la infraestructura del conector, por lo que estas preguntas no son realmente aplicables. El hecho de que los servidores MCP utilicen la infraestructura del conector significa que pueden implementar controles de seguridad y gobernanza empresariales, como la integración de redes virtuales , controles de prevención de pérdida de datos y múltiples métodos de autenticación (todos disponibles en esta versión), a la vez que admiten el acceso a datos en tiempo real para agentes con IA.

Entonces, el MCP y los conectores funcionan realmente mejor juntos .

Prerrequisitos

  • Suscripción a Azure (con método de pago agregado)
  • Tener una cuenta de GitHub y estar conectado
  • Cuenta de prueba o de desarrollador de Copilot Studio
  • Entorno de Power Platform aprovisionado

Laboratorio

Para poder implementar este servidor MCP y usarlo en Microsoft Copilot Studio, debe realizar las siguientes acciones:

Cree un nuevo repositorio de GitHub basado en la plantilla

  1. Seleccionar Use this template
  2. Seleccione `Crear un nuevo repositorio
  3. Seleccione el Owner adecuado
  4. Dale un Repository name
  5. Opcionalmente puedes darle una Description
  6. Seleccionar Private
  7. Seleccione Create repositoryEsto tardará un poco. Una vez finalizado, se le redirigirá al repositorio recién creado.

[!ADVERTENCIA]
Después de completar los pasos de este laboratorio, tendrá un servidor MCP ejecutándose en Azure y disponible públicamente. Idealmente, no querrá que esto suceda. Asegúrese de eliminar la aplicación web de Azure después de finalizar el laboratorio.

Implementar la aplicación web de Azure

  1. Vaya a portal.azure.com
  2. Coloque el cursor sobre la pestaña Resource groups y seleccione Create
  3. Haga clic en el menú desplegable Subscription y seleccione su suscripción de la lista
  4. Haga clic en el cuadro de texto Nombre Resource group y escriba un nombre de grupo de recursos como "jokesgrp".
  5. Seleccione el menú desplegable Region y elija la región más cercana a usted
  6. Haga clic en Review + create
  7. Haga clic en Create
  8. Seleccione Go to resource group
  9. Seleccionar Create
  10. Haga clic en el search box

  1. Tipo de web app
  2. Seleccione el Create button en el resultado de búsqueda de la aplicación web

  1. Seleccionar Web App

  1. Seleccione la entrada de texto Name y coloque un nombre para la aplicación web, como "wegotjokes".

  1. Seleccione el menú desplegable Runtime stack y elija Node 22 LTS

  1. Seleccione el menú desplegable Region y elija la región más cercana a usted

  1. Haga clic en Review + create

  1. Haga clic en Create

  1. Haga clic en Refresh para actualizar el progreso de su implementación

  1. Una vez completada la implementación, seleccione Go to resource

  1. Expandir la pestaña Deployment

  1. Haga clic en Deployment Center

  1. Haga clic en el menú desplegable Source y seleccione GitHub

  1. Seleccionar Authorize

  1. Seleccione Continue

  1. Seleccione Authorize AzureAppService

  1. Haga clic en el menú desplegable Organization y elija su organización

  1. Haga clic en el menú desplegable Repository y elija el repositorio de GitHub que creó anteriormente de la lista.

  1. Haga clic en el menú desplegable Branch y elija su sucursal

  1. Mantenga todo lo demás predeterminado y seleccione Save

  1. Haga clic Refresh para actualizar el estado de implementación

  1. Verificar que la implementación esté completa

Crear el conector de Power Platform

  1. Vaya a https://make.powerapps.com/
  2. Seleccione More en el menú de la izquierda
  3. Seleccione el botón Discover all
  4. En Datos, seleccione el pin icon junto a Custom connectors para anclarlo al menú de la izquierda
  5. Seleccione Custom connectors en el menú de la izquierda
  6. Seleccionar New custom connector
  7. Seleccionar Create from blank
  8. Dale un nombre al conector (por ejemplo JokesMCP )
  9. Seleccione el botón azul Continue
  10. Seleccione el botón Swagger editor

  1. Copie el código yaml desde aquí y reemplace el código en el editor Swagger
  2. En el editor Swagger, reemplaza dummyurl.azurewebsites.net con la URL de la aplicación web que creaste anteriormente . Asegúrate de eliminar https:// y todo lo que esté después de azurewebsites.net
  3. Seleccione Create connector para crear el conector

Agregue el servidor MCP como una acción en Microsoft Copilot Studio

Ahora tiene un servidor MCP ejecutándose en Azure y un conector disponible en Power Platform. Este paso consiste en crear un agente en Microsoft Copilot Studio y agregarle el servidor MCP.

  1. Vaya a https://copilotstudio.microsoft.com
  2. Seleccione el selector de entorno en la esquina superior derecha
  3. Seleccione el entorno adecuado
  4. Seleccione Create en la navegación izquierda.
  5. Seleccione el botón azul New agent
  6. Seleccione Skip to configure en la parte superior derecha
  7. Cambiar el nombre a Jokester
  8. Añade la siguiente Description
    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. Añade las siguientes Instructions
    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. Seleccione Create en la parte superior derecha

  1. Habilitar Orchestration de IA generativa

  1. Desactivar conocimientos generales en la sección Knowledge

  1. Seleccione Actions en el menú superior

  1. Seleccionar Add an action

  1. Busca el nombre (en este caso, jokes ) del conector que creaste anteriormente (ver el número 1 en la captura de pantalla a continuación)
  2. Seleccione el Jokes MCP server (ver el número 2 en la captura de pantalla a continuación)

  1. Espere a que se cree la conexión y seleccione Next cuando haya terminado.

  1. Cambie la Description for the agent to know when to use this action al siguiente texto:
Trigger this action when a user asks for a joke. It can provide Chuck Norris jokes, Dad jokes and Yo Mama jokes.

Deje el resto como predeterminado, como por ejemplo la autenticación del usuario final, sobre lo cual aprenderá más en un minuto.

  1. Seleccione Add action para agregar la acción al agente

  1. Seleccione el refresh icon en el panel Test your agent

  1. En el panel Test your agent envíe el siguiente mensaje:
Can I get a Chuck Norris joke?

Esto le mostrará un mensaje que indica que se requieren permisos adicionales para ejecutar esta acción. Esto se debe a la autenticación del usuario en el asistente de acciones.

  1. Seleccione Connect

Esto abrirá una nueva ventana donde podrás administrar tus conexiones para este agente.

  1. Seleccione Connect junto a JokesMCP

  1. Espere hasta que se cree la conexión y seleccione Submit

  1. La conexión ahora debería estar conectada, por lo que el estado debería establecerse en Connected

  1. Cierra la pestaña Administrar tus conexiones en tu navegador

Ahora deberías volver a la pantalla del agente Jokester.

  1. Seleccione el refresh icon en el panel Test your agent

  1. En el panel Test your agent envíe el siguiente mensaje:
Can I get a Chuck Norris joke?

Ahora se mostrará un chiste de Chuck Norris, en lugar de los permisos adicionales.

  1. En el panel Test your agent envíe el siguiente mensaje:
Can I get a Dad joke?

Esto ahora mostrará un chiste de papá.

  1. En el panel Test your agent envíe el siguiente mensaje:
Can I get a Yo Mama joke?

Esto ahora mostrará un chiste de Yo Mama.

Y así fue el servidor Jokes MCP funcionando en Microsoft Copilot Studio. ¡Aquí termina el laboratorio! Esperamos que les haya gustado. Por favor, tómense un momento para completar nuestro formulario de comentarios .

Detalles del servidor MCP de Jokes

Este es un servidor MCP creado en el SDK de TypeScript .

Con este servidor MCP, podrás obtener chistes de los siguientes sitios web:

Si desea ejecutar el servidor localmente, asegúrese de ejecutar npm install en la raíz del repositorio.

Después de eso, puedes ejecutar npm run build para construir el servidor y npm start para iniciar el servidor.

Herramientas

Se incluyen las siguientes herramientas:

chiste de Chuck

Esta herramienta recupera un chiste aleatorio de Chuck Norris de chucknorris.io .

categorías de get-chuck

Esta herramienta recupera las categorías disponibles de chucknorris.io .

chiste de papá

Esta herramienta recupera un chiste de papá aleatorio de icanhazdadjoke.com .

chiste para conseguir a tu mamá

Esta herramienta recupera un chiste de Yo Mama aleatorio de yomama-jokes.com .

Problemas conocidos y mejoras planificadas

Existen algunos problemas conocidos y mejoras planificadas para MCP en Microsoft Copilot Studio. Se enumeran en este artículo de Microsoft Learn .

Contribuyendo

Este proyecto agradece contribuciones y sugerencias. La mayoría de las contribuciones requieren la aceptación de un Acuerdo de Licencia de Colaborador (CLA), que declara que tiene derecho a otorgarnos, y efectivamente nos otorga, los derechos para usar su contribución. Para más información, visite https://cla.opensource.microsoft.com .

Al enviar una solicitud de extracción, un bot de CLA determinará automáticamente si es necesario proporcionar una CLA y la decorará adecuadamente (por ejemplo, comprobación de estado o comentario). Simplemente siga las instrucciones del bot. Solo tendrá que hacerlo una vez en todos los repositorios que utilicen nuestra CLA.

Este proyecto ha adoptado el Código de Conducta de Código Abierto de Microsoft . Para más información, consulte las preguntas frecuentes sobre el Código de Conducta o escriba a opencode@microsoft.com si tiene alguna pregunta o comentario.

Marcas comerciales

Este proyecto puede contener marcas comerciales o logotipos de proyectos, productos o servicios. El uso autorizado de las marcas comerciales o logotipos de Microsoft está sujeto a las Directrices de Marcas Registradas y de Marca de Microsoft y debe cumplirlas. El uso de marcas comerciales o logotipos de Microsoft en versiones modificadas de este proyecto no debe causar confusión ni implicar patrocinio por parte de Microsoft. El uso de marcas comerciales o logotipos de terceros está sujeto a las políticas de dichos terceros.

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An MCP server that enables saving and sharing Claude Desktop conversations, allowing users to store chats privately or make them public through a web interface.
    Last updated -
    2
    6
    TypeScript
    MIT License
    • Apple
  • -
    security
    F
    license
    -
    quality
    A satirical MCP server providing HR-related tools that simulate actions in a corporate dystopia, such as increasing salaries, scheduling mandatory fun events, and generating corporate jargon.
    Last updated -
    24
    TypeScript
  • -
    security
    A
    license
    -
    quality
    An 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 -
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    An 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 -
    TypeScript
    MIT License

View all related MCP servers

ID: hwg6as040p