Jokes MCP Server

MIT License
  • Linux
  • Apple
Integrations
  • Enables interacting with the Jokes MCP Server in GitHub Copilot's agent mode to request and receive jokes from various categories, such as Chuck Norris jokes and Dad jokes.

Microsoft Copilot Studio ❤️ MCP

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

❓ Что такое МКП?

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

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

🆚 MCP против коннекторов

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

Серверы MCP доступны для Copilot Studio с использованием инфраструктуры коннектора, поэтому эти вопросы на самом деле не применимы. Тот факт, что серверы MCP используют инфраструктуру коннектора, означает, что они могут использовать корпоративные средства безопасности и управления, такие как интеграция виртуальной сети , средства предотвращения потери данных , несколько методов аутентификации — все из которых доступны в этом выпуске — при этом поддерживая доступ к данным в реальном времени для агентов на базе ИИ.

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

⚙️ Предварительные условия

  • Код Visual Studio ( ссылка )
  • Node v22 (в идеале устанавливается через nvm для Windows или nvm )
  • Git установлен ( ссылка )
  • Azure Developer CLI ( ссылка )
  • Подписка Azure (с добавленным способом оплаты)
  • Аккаунт GitHub
  • Пробная версия Copilot Studio или учетная запись разработчика
  • Среда Power Platform подготовлена — включены следующие переключатели:

➕ Создайте новый репозиторий GitHub на основе шаблона

  1. Выберите Use this template
  2. Выберите «Создать новый репозиторий».
  3. Выберите правильного Owner (он может быть уже выбран, если у вас есть только один владелец на выбор)
  4. Дайте ему Repository name
  5. При желании вы можете дать ему Description
  6. Выбрать Private
  7. Выберите Create repositoryЭто займет некоторое время. После этого вы будете перенаправлены в недавно созданный репозиторий.

⚖️ Выбор: запустить сервер локально или развернуть в Azure

Теперь у вас есть выбор! Вы либо запускаете сервер локально, либо можете развернуть его в Azure.

В обоих случаях вам необходимо выполнить несколько шагов:

  1. Клонируйте этот репозиторий, выполнив следующую команду (замените {account} на имя своей учетной записи GitHub):git clone https://github.com/{account}/mcsmcp.git
  2. Откройте Visual Studio Code и откройте клонированную папку.
  3. Откройте терминал и перейдите в клонированную папку.

🏃‍♀️ Запустите MCP-сервер локально

  1. Запустить npm install
  2. Запустить npm run build && npm run start
  3. Выберите PORTS в верхней части терминала Visual Studio Code.
  4. Нажмите зеленую кнопку Forward a Port
  5. Введите 3000 в качестве номера порта (он должен совпадать с номером порта, который вы видите при запуске команды на шаге 5). Вам может быть предложено войти в GitHub, если это так, пожалуйста, сделайте это, так как это необходимо для использования функции переадресации портов.
  6. Щелкните правой кнопкой мыши по только что добавленной строке и выберите Port visibility > Public , чтобы сделать сервер общедоступным.
  7. Ctrl + клик по Forwarded address , который должен выглядеть примерно так: https://something-3000.something.devtunnels.ms
  8. Выберите Copy в следующем всплывающем окне, чтобы скопировать URL-адрес.
  9. Откройте браузер по вашему выбору и вставьте URL-адрес в адресную строку, введите /mcp и нажмите Enter.

Если все прошло успешно, вы увидите следующее сообщение об ошибке:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}

Не волнуйтесь — это сообщение об ошибке не повод для беспокойства!

🌎 Развертывание в Azure

[!ВАЖНО] Как указано в предварительных требованиях , для этой части на вашем компьютере должен быть установлен Azure Developer CLI .

Обязательно войдите в Azure Developer CLI, если вы еще этого не сделали.

azd auth login

[!ПРЕДУПРЕЖДЕНИЕ]
После запуска azd up у вас будет запущенный на Azure сервер MCP, который будет доступен всем. В идеале вам это не нужно. Обязательно запустите azd down после завершения лабораторной работы, чтобы удалить все ресурсы из вашей подписки Azure. Узнайте, как запустить azd down , перейдя в этот раздел .

Выполните следующую команду в терминале:

azd up

Для уникального имени среды введите mcsmcplab или что-то похожее. Выберите подписку Azure для использования и выберите значение для местоположения. После этого потребуется несколько минут, прежде чем сервер будет развернут. Когда это будет сделано, вы сможете перейти по URL-адресу, указанному в конце, и добавить /mcp в конец этого URL-адреса.

Вы снова должны увидеть следующую ошибку:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}

👨‍💻 Используйте Jokes MCP Server в Visual Studio Code / GitHub Copilot

Чтобы использовать сервер Jokes MCP, вам необходимо использовать URL-адрес вашего сервера (это может быть либо URL-адрес вашего туннеля разработчика, либо развернутое приложение контейнера Azure) с частью /mcp в конце и добавить его как сервер MCP в Visual Studio Code.

  1. Нажмите сочетание ctrl + shift + P (Windows/Linux) или cmd + shift + P (Mac) и введите MCP
  2. Выберите MCP: Add Server...
  3. Выберите HTTP (HTTP or Server-Sent Events)
  4. Вставьте URL-адрес вашего сервера в поле ввода (убедитесь, что в конце есть /mcp )
  5. Нажмите Enter
  6. Введите имя сервера, например JokesMCP
  7. Выберите User Settings , чтобы сохранить настройки сервера MCP в настройках пользователя.Это добавит MCP Server в ваш файл settings.json . Это должно выглядеть так:
  8. Открыть GitHub Copilot
  9. Переключиться с Ask на Agent
  10. При выборе значка инструментов убедитесь, что выбраны действия сервера JokesMCP :

  1. Задайте следующий вопрос:
Get a chuck norris joke from the Dev category

Это должно дать вам примерно такой ответ:

Теперь вы добавили сервер JokesMCP в Visual Studio Code!

👨‍💻 Используйте Jokes MCP Server в Microsoft Copilot Studio

Импортируйте соединитель

  1. Перейдите по адресу https://make.preview.powerapps.com/customconnectors (убедитесь, что вы находитесь в правильной среде) и нажмите + Новый пользовательский соединитель .
  2. Выберите Import from GitHub
  3. Выберите Custom в качестве типа соединителя.
  4. Выберите dev в качестве ветви
  5. Выберите MCP-Streamable-HTTP в качестве соединителя .
  6. Выберите Continue
  7. Измените имя коннектора на что-то подходящее, например, Jokes MCP
  8. Измените описание на что-то подходящее.
  9. Вставьте корневой URL-адрес (например, something-3000.something.devtunnels.ms или something.azurecontainerapps.io ) в поле Хост.
  10. Выберите Создать соединитель.

[!ПРЕДУПРЕЖДЕНИЕ]
При создании вы можете увидеть предупреждение и ошибку — они должны быть устранены в ближайшее время, — но пока вы можете их игнорировать.

  1. Закрыть разъем

Создайте агента и добавьте сервер MCP в качестве инструмента

  1. Перейдите по ссылке https://copilotstudio.preview.microsoft.com/
  2. Выберите средство выбора среды в правом верхнем углу.
  3. Выберите правильную среду (среду с включенным переключателем « Get new features early »)
  4. Выберите Create в левой навигационной панели.
  5. Нажмите синюю кнопку New agent
  6. Выберите вкладку 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. Выберите Continue в правом верхнем углу.

  1. Включить генеративную Orchestration ИИ

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

  1. Выберите Tools в верхнем меню.

  1. Выберите Add a tool

  1. Выберите вкладку Model Context Protocol , чтобы отфильтровать все серверы Model Context Protocol (см. номер 1 на снимке экрана ниже).
  2. Выберите сервер Jokes MCP (см. номер 2 на скриншоте ниже)

  1. Создайте новое подключение, выбрав « Not connected и «Создать новое подключение».

  1. Выберите Create

  1. Выберите Add to agent , чтобы добавить инструмент к агенту.

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

  1. На панели Test your agent отправьте следующее сообщение:
Can I get a Chuck Norris joke?

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

  1. Выберите Connect

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

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

  1. Подождите, пока соединение будет создано, и выберите Submit

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

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

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

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

  1. На панели Test your agent отправьте следующее сообщение:
Can I get a Chuck Norris joke?

Теперь вместо дополнительных разрешений будет показана шутка Чака Норриса. Если это не так, то вы, вероятно, пропустили предварительное условие , что среда должна иметь переключатель get new features early .

  1. На панели Test your agent отправьте следующее сообщение:
Can I get a Dad joke?

Теперь будет показана шутка про папу.

И это был Jokes MCP Server, работающий в Microsoft Copilot Studio.

❌ Удалить ресурсы Azure

Чтобы удалить ресурсы Azure после завершения лабораторной работы, выполните в терминале следующую команду:

azd down

Эта команда покажет вам ресурсы, которые будут удалены, а затем попросит вас подтвердить. Подтвердите с помощью y , и ресурсы будут удалены. Это может занять пару минут, но в конце вы увидите подтверждение:

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

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

🗣️ Обратная связь

Надеюсь, вам понравилась лаборатория. Пожалуйста, найдите время, чтобы заполнить нашу форму обратной связи, чтобы рассказать нам, как мы можем улучшить ее!

🚀 Вклад

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

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

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

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

Этот проект может содержать товарные знаки или логотипы проектов, продуктов или услуг. Разрешенное использование товарных знаков или логотипов Microsoft подчиняется и должно соответствовать Руководству по товарным знакам и брендам Microsoft . Использование товарных знаков или логотипов Microsoft в измененных версиях этого проекта не должно вызывать путаницы или подразумевать спонсорство Microsoft. Любое использование товарных знаков или логотипов третьих лиц подчиняется политикам этих третьих лиц.

Related MCP Servers

  • -
    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
  • -
    security
    A
    license
    -
    quality
    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.
    Last updated -
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables Microsoft Copilot Studio to fetch jokes from various sources including Chuck Norris jokes, Dad jokes, and Yo Mama jokes.
    Last updated -
    TypeScript
    MIT License

View all related MCP servers

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/sakshi-sancheti/MCPwithMCS'

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