Skip to main content
Glama
tifanygracini

JokesMCPTool

Microsoft Copilot Studio ❤️ MCP

Добро пожаловать в лабораторную работу Microsoft Copilot Studio ❤️ MCP. В этой лабораторной работе вы узнаете, как развернуть MCP-сервер и как добавить его в Microsoft Copilot Studio.

Что такое MCP?

Model Context Protocol (MCP) — это открытый протокол, который стандартизирует способ предоставления контекста LLM, определённый Anthropic. MCP предоставляет стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам. MCP позволяет разработчикам легко интегрировать существующие серверы знаний и API непосредственно в Copilot Studio.

В настоящее время Copilot Studio поддерживает только инструменты. Чтобы узнать больше о текущих возможностях, см. aka.ms/mcsmcp. Существуют известные проблемы и запланированные улучшения. Они перечислены здесь.

Related MCP server: Microsoft Copilot Studio ❤️ MCP

MCP и коннекторы

Когда использовать MCP? А когда коннекторы? Заменит ли MCP коннекторы?

MCP-серверы становятся доступными для Copilot Studio с помощью инфраструктуры коннекторов, поэтому эти вопросы не совсем применимы. Тот факт, что MCP-серверы используют инфраструктуру коннекторов, означает, что они могут применять корпоративные меры безопасности и управления, такие как интеграция с Virtual Network, контроль Data Loss Prevention, несколько методов аутентификации — всё это доступно в этом выпуске, — а также поддерживать доступ к данным в реальном времени для агентов на основе ИИ.

Таким образом, MCP и коннекторы действительно лучше вместе.

Предварительные требования

  • Подписка Azure (с добавленным способом оплаты)

  • Учётная запись GitHub и вход в неё

  • Пробная или разработческая учётная запись Copilot Studio

  • Подготовленная среда Power Platform

Лабораторная работа

Чтобы развернуть этот MCP-сервер и использовать его в Microsoft Copilot Studio, необходимо выполнить следующие действия:

Создание нового репозитория GitHub на основе шаблона

  1. Выберите Use this template

  2. Выберите Create a new repository

  3. Выберите правильного Owner

  4. Укажите Repository name

  5. При желании можно указать Description

  6. Выберите Private

  7. Выберите Create repository

    Это займёт некоторое время. После завершения вы будете перенаправлены в созданный репозиторий.

[!WARNING]
После выполнения шагов этой лабораторной работы у вас будет MCP-сервер, работающий на Azure и доступный публично. В идеале вам это не нужно. Обязательно удалите веб-приложение Azure после завершения лабораторной работы.

Развёртывание веб-приложения Azure

  1. Перейдите на portal.azure.com

    Azure Portal

  2. Наведите указатель на вкладку Resource groups и выберите Create

    Resource Group

  3. Нажмите на раскрывающийся список Subscription и выберите свою подписку из списка

    Select Subscription

  4. Нажмите на текстовое поле имени Resource group и введите имя группы ресурсов, например "jokesgrp"

    Resource Group Name

  5. Выберите раскрывающийся список Region и выберите ближайший к вам регион

    Resource Group Region

  6. Нажмите Review + create

    Review and create

  7. Нажмите Create

    Create

  8. Выберите Go to resource group

    Go to resource

  9. Выберите Create

    Create

  10. Нажмите на search box

    Search

  11. Введите web app

  12. Выберите Create button в результатах поиска Web App

    Search Results

  13. Выберите Web App

    Create Web App

  14. Нажмите на текстовое поле Name и введите имя веб-приложения, например "wegotjokes"

    Web App Name

  15. Выберите раскрывающийся список Runtime stack и выберите Node 22 LTS

    Web App Runtime

  16. Выберите раскрывающийся список Region и выберите ближайший к вам регион

    Region

  17. Нажмите Review + create

    Review

  18. Нажмите Create

    Create

  19. Нажмите Refresh, чтобы обновить ход развёртывания

    Refresh

  20. После завершения развёртывания выберите Go to resource

    Go to resource

  21. Разверните вкладку Deployment

    Deployment tab

  22. Нажмите Deployment Center

    Deployment center

  23. Нажмите на раскрывающийся список Source и выберите GitHub

    Choose source

  24. Выберите Authorize

    Authorize

  25. Выберите Continue

    Continue

  26. Выберите Authorize AzureAppService

    Authorize

  27. Нажмите на раскрывающийся список Organization и выберите свою организацию

    Org Selection

  28. Нажмите на раскрывающийся список Repository и выберите созданный ранее репозиторий GitHub из списка

    Repo Selection

  29. Нажмите на раскрывающийся список Branch и выберите свою ветку

    Select Branch

  30. Оставьте все остальные параметры по умолчанию и выберите Save

    Save

  31. Нажмите Refresh, чтобы обновить статус развёртывания

    Refresh

  32. Убедитесь, что развёртывание завершено

    Deploy done

Создание коннектора Power Platform

  1. Перейдите на https://make.powerapps.com/

  2. Выберите More в левом меню

  3. Выберите кнопку Discover all

  4. В разделе Data выберите pin icon рядом с Custom connectors, чтобы закрепить его в левом меню

  5. Выберите Custom connectors в левом меню

  6. Выберите New custom connector

  7. Выберите Create from blank

  8. Дайте коннектору имя (например, JokesMCP)

  9. Нажмите синюю кнопку Continue

  10. Переключите Swagger editor

  11. Скопируйте yaml-код отсюда и замените код в редакторе Swagger

  12. В редакторе Swagger замените dummyurl.azurewebsites.net на URL веб-приложения, созданного ранее. Убедитесь, что удалили https:// и всё после azurewebsites.net

  13. Выберите Create connector, чтобы создать коннектор

Добавление MCP-сервера как действия в Microsoft Copilot Studio

Теперь у вас есть MCP-сервер, работающий в Azure, и коннектор, доступный в Power Platform. Этот шаг заключается в создании агента в Microsoft Copilot Studio и добавлении MCP-сервера к агенту.

  1. Перейдите на https://copilotstudio.microsoft.com

  2. Выберите выбор среды в правом верхнем углу

  3. Выберите правильную среду

  4. Выберите Create в левой навигации

  5. Нажмите синюю кнопку New agent

    New agent

  6. Выберите Skip to configure в правом верхнем углу

    Skip to configure

  7. Измените имя на Jokester

  8. Добавьте следующее 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. Добавьте следующие 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. Нажмите Create в правом верхнем углу

    Create agent

  11. Включите Orchestration генеративного ИИ

    Turn on orchestration

  12. Отключите общие знания в разделе Knowledge

    Turn off general knowledge

  13. Выберите Actions в верхнем меню

    Actions

  14. Выберите Add an action

    Add an action

  15. Найдите имя (в данном случае jokes) коннектора, созданного ранее (см. номер 1 на скриншоте ниже)

  16. Выберите Jokes MCP server (см. номер 2 на скриншоте ниже)

    Search for and select the action

  17. Дождитесь создания подключения и выберите Next, когда оно будет готово

    Action and connection

  18. Измените Description for the agent to know when to use this action на следующий текст:

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

    Остальное оставьте по умолчанию, например, аутентификацию конечного пользователя, о которой вы узнаете больше через минуту.

  19. Выберите Add action, чтобы добавить действие к агенту

    Add action

  20. Выберите refresh icon в панели Test your agent

    Refresh testing pane

  21. В панели Test your agent отправьте следующее сообщение:

    Can I get a Chuck Norris joke?

    Это покажет сообщение о том, что для выполнения этого действия требуются дополнительные разрешения. Это связано с аутентификацией пользователя в мастере действий.

  22. Выберите Connect

    Additional permissions

    Откроется новое окно, где вы можете управлять подключениями для этого агента.

  23. Выберите Connect рядом с JokesMCP

    Connect to JokesMCP

  24. Дождитесь создания подключения и выберите Submit

    Pick a connection

  25. Теперь подключение должно быть установлено, поэтому статус должен быть Connected

    Status connected

  26. Закройте вкладку управления подключениями в браузере

    Теперь вы должны вернуться к экрану агента Jokester.

  27. Выберите refresh icon в панели Test your agent

    Refresh testing pane

  28. В панели Test your agent отправьте следующее сообщение:

    Can I get a Chuck Norris joke?

    Теперь появится шутка Чака Норриса — вместо сообщения о дополнительных разрешениях.

    Chuck Norris joke

  29. В панели Test your agent отправьте следующее сообщение:

    Can I get a Dad joke?

    Теперь появится папина шутка.

    Dad joke

  30. В панели Test your agent отправьте следующее сообщение:

    Can I get a Yo Mama joke?

    Теперь появится шутка про твою маму.

    Yo Mama joke

И это была работа Jokes MCP Server в Microsoft Copilot Studio. Это также конец лабораторной работы! Надеюсь, вам понравилась лабораторная работа. Пожалуйста, найдите время, чтобы заполнить нашу форму обратной связи.

Детали Jokes MCP Server

Это MCP сервер, построенный на TypeScript SDK.

С помощью этого MCP-сервера вы сможете получать шутки со следующих сайтов:

Если вы хотите запустить сервер локально, обязательно выполните npm install в корне репозитория.

После этого вы можете выполнить npm run build для сборки сервера и npm start для запуска сервера.

Инструменты

Включены следующие инструменты:

get-chuck-joke

Этот инструмент получает случайную шутку Чака Норриса с chucknorris.io.

get-chuck-categories

Этот инструмент получает доступные категории с chucknorris.io.

get-dad-joke

Этот инструмент возвращает случайную папину шутку с сайта icanhazdadjoke.com.

get-yo-mama-joke

Этот инструмент возвращает случайную шутку про твою маму с сайта yomama-jokes.com.

Известные проблемы и запланированные улучшения

Для MCP в Microsoft Copilot Studio существует ряд известных проблем и запланированных улучшений. Они перечислены в этой статье Microsoft Learn.

Участие в разработке

Этот проект приветствует вклад и предложения. Большинство вкладов требует вашего согласия с лицензионным соглашением участника (CLA), подтверждающим, что вы имеете право предоставлять нам права на использование вашего вклада и действительно предоставляете их. Подробнее см. на https://cla.opensource.microsoft.com.

Когда вы отправляете pull request, CLA-бот автоматически определит, нужно ли вам подписать CLA, и соответствующим образом оформит PR (например, проверка статуса, комментарий). Просто следуйте инструкциям бота. Вам нужно будет сделать это только один раз во всех репозиториях, где действует наше CLA.

Этот проект принял Кодекс поведения Microsoft для проектов с открытым исходным кодом. Дополнительную информацию см. в FAQ по Кодексу поведения или пишите на opencode@microsoft.com по любым дополнительным вопросам или замечаниям.

Товарные знаки

Этот проект может содержать товарные знаки или логотипы проектов, продуктов или услуг. Авторизованное использование товарных знаков или логотипов Microsoft регулируется и должно соответствовать Правилам использования товарных знаков и фирменного стиля Microsoft.

Использование товарных знаков или логотипов Microsoft в изменённых версиях этого проекта не должно вызывать путаницу или создавать впечатление спонсорства со стороны Microsoft.

Любое использование товарных знаков или логотипов третьих лиц регулируется политикой этих третьих лиц.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides joke-fetching capabilities, demonstrating how to deploy an MCP Server and integrate it with Microsoft Copilot Studio.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to fetch various types of jokes including Chuck Norris and Dad jokes through an MCP server that integrates with Microsoft Copilot Studio and GitHub Copilot.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Delivers Chuck Norris jokes and Dad jokes on demand through Microsoft Copilot Studio and GitHub Copilot. Demonstrates how to deploy and integrate MCP servers with Microsoft's AI platforms.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tifanygracini/JokesMCPTool'

If you have feedback or need assistance with the MCP directory API, please join our Discord server