Jokes MCP Server

Integrations

  • Used for deployment of the MCP server, allowing connection between the GitHub repository and Azure Web App for continuous deployment.

  • Provides the SDK foundation for building the MCP server, with the server built on the TypeScript SDK.

Microsoft Copilot Studio ❤️ MCP

Microsoft Copilot Studio ❤️ MCPラボへようこそ。このラボでは、MCPサーバーの展開方法と、Microsoft Copilot Studioへの追加方法を学習します。

MCPとは何ですか?

モデルコンテキストプロトコル(MCP)は、 Anthropicによって定義された、アプリケーションがLLMにコンテキストを提供する方法を標準化するオープンプロトコルです。MCPは、AIモデルをさまざまなデータソースやツールに接続するための標準化された方法を提供します。MCPにより、開発者は既存のナレッジサーバーとAPIをCopilot Studioに直接シームレスに統合できます。

現在、Copilot Studio はツールのみをサポートしています。現在の機能の詳細については、 aka.ms/mcsmcpをご覧ください。既知の問題と計画されている改善点がいくつかあります。こちらに一覧があります。

MCPとコネクタ

MCPはいつ使用しますか?コネクタはいつ使用しますか?MCPはコネクタに取って代わるのでしょうか?

MCPサーバーはコネクタインフラストラクチャを介してCopilot Studioで利用可能になるため、これらの質問は実際には当てはまりません。MCPサーバーがコネクタインフラストラクチャを使用しているという事実は、仮想ネットワーク統合、データ損失防止(DLP)、複数の認証方法といったエンタープライズセキュリティとガバナンス制御(これらはすべて本リリースで利用可能)を採用しながら、AI搭載エージェントによるリアルタイムデータアクセスをサポートできることを意味します。

したがって、MCP とコネクタを組み合わせると非常に効果的です。

前提条件

  • Azure サブスクリプション (支払い方法を追加)
  • GitHubアカウントを持っていてログインしている
  • Copilot Studio のトライアルまたは開発者アカウント
  • Power Platform 環境がプロビジョニングされました

ラボ

この MCP サーバーを展開して Microsoft Copilot Studio で使用するには、次の操作を実行する必要があります。

テンプレートに基づいて新しいGitHubリポジトリを作成する

  1. Use this template選択
  2. 「新しいリポジトリを作成」を選択します
  3. 適切なOwnerを選択する
  4. Repository nameを付ける
  5. オプションでDescriptionを記入できます
  6. Privateを選択
  7. Create repository選択少し時間がかかります。完了すると、新しく作成されたリポジトリに移動します。

[!警告]
このラボの手順を完了すると、Azure 上で実行され、公開されている MCP サーバーが作成されます。理想的には、これは不要なため、ラボ終了後は Azure Web アプリを必ず削除してください。

Azure Web アプリをデプロイする

  1. portal.azure.comにアクセスしてください
  2. Resource groupsタブにマウスを移動し、 Createを選択します。
  3. Subscriptionドロップダウンをクリックし、リストからサブスクリプションを選択します
  4. Resource group名テキスト ボックスをクリックし、「jokesgrp」などのリソース グループ名を入力します。
  5. Regionドロップダウンから最も近い地域を選択してください
  6. Review + createをクリック
  7. Createクリック
  8. Go to resource group選択
  9. Create選択
  10. search boxをクリック

  1. web appを入力
  2. Webアプリの検索結果でCreate buttonを選択します

  1. Web Appを選択

  1. Nameテキスト入力を選択し、「wegotjokes」などのWebアプリの名前を入力します。

  1. Runtime stackドロップダウンを選択し、 Node 22 LTSを選択します。

  1. Regionドロップダウンを選択し、最も近い地域を選択してください

  1. Review + createをクリック

  1. Createクリック

  1. 展開の進行状況を更新するには、 Refreshクリックします。

  1. 展開が完了したら、 Go to resourceを選択します。

  1. Deploymentタブを展開します

  1. Deployment Centerをクリック

  1. SourceドロップダウンをクリックしてGitHubを選択します

  1. Authorizeを選択

  1. Continue選択

  1. Authorize AzureAppService選択

  1. Organizationドロップダウンをクリックして組織を選択します

  1. Repositoryドロップダウンをクリックし、リストから先ほど作成したGitHubリポジトリを選択します。

  1. Branchドロップダウンをクリックしてブランチを選択します

  1. その他はすべてデフォルトのままにしてSaveを選択します

  1. 展開ステータスを更新するには、 Refreshクリックします。

  1. 展開が完了したことを確認する

Power Platform コネクタを作成する

  1. https://make.powerapps.com/にアクセスしてください。
  2. 左側のメニューでMoreを選択します
  3. Discover allボタンを選択します
  4. 「データ」の下で、 Custom connectorsの横にあるpin iconを選択して、左側のメニューにピン留めします。
  5. 左側のメニューでCustom connectorsを選択します
  6. New custom connectorを選択
  7. Create from blankを選択
  8. コネクタに名前を付けます(例: JokesMCP
  9. 青い「 Continueボタンを選択します
  10. Swagger editorトグルを選択する

  1. ここからyamlコードをコピーし、Swaggerエディタのコードを置き換えます
  2. Swaggerエディターで、 dummyurl.azurewebsites.net先ほど作成したWebアプリのURLに置き換えます。https https://azurewebsites.net以降の部分をすべて削除してください。
  3. Create connectorを選択します。

Microsoft Copilot Studio で MCP サーバーをアクションとして追加します。

これで、Azure で MCP サーバーが稼働し、Power Platform でコネクタが利用可能になりました。この手順では、Microsoft Copilot Studio でエージェントを作成し、MCP サーバーをエージェントに追加します。

  1. https://copilotstudio.microsoft.comにアクセスしてください
  2. 右上隅の環境ピッカーを選択します
  3. 適切な環境を選択する
  4. 左側のナビゲーションでCreateを選択します
  5. 青いNew agentボタンを選択します
  6. 右上の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を選択

  1. 生成AI Orchestration有効にする

  1. Knowledgeセクションで一般知識を無効にする

  1. 上部メニューのActionsを選択します

  1. Add an action選択

  1. 先ほど作成したコネクタの名前(この場合はjokes )を検索します(下のスクリーンショットの番号 1 を参照)。
  2. Jokes MCP serverを選択します(下のスクリーンショットの番号2を参照)

  1. 接続が確立されるまで待ち、完了したらNextを選択します。

  1. 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.

残りはデフォルトのままにしておきます。たとえば、エンドユーザー認証については、後ほど詳しく説明します。

  1. Add actionを選択して、エージェントにアクションを追加します

  1. Test your agentペインでrefresh iconを選択します

  1. Test your agentペインで次のメッセージを送信します。
Can I get a Chuck Norris joke?

このアクションを実行するには追加の権限が必要であることを示すメッセージが表示されます。これは、アクションウィザードでのユーザー認証のためです。

  1. Connectを選択

これにより、このエージェントの接続を管理できる新しいウィンドウが開きます。

  1. JokesMCP横にあるConnectを選択します

  1. 接続が作成されるまで待ってから、 Submitを選択します。

  1. 接続は確立されたので、ステータスはConnectedに設定されます。

  1. ブラウザの接続管理タブを閉じます

これで、Jokester エージェント画面に戻るはずです。

  1. Test your agentペインでrefresh iconを選択します

  1. Test your agentペインで次のメッセージを送信します。
Can I get a Chuck Norris joke?

これにより、追加の権限の代わりに、チャック・ノリスのジョークが表示されます。

  1. Test your agentペインで次のメッセージを送信します。
Can I get a Dad joke?

これでお父さんジョークが表示されます。

  1. Test your agentペインで次のメッセージを送信します。
Can I get a Yo Mama joke?

これでYo Mamaジョークが表示されます。

以上で、Microsoft Copilot Studio で動作する Jokes MCP Server のご紹介です。ラボもこれで終了です!ラボを気に入っていただけたでしょうか?フィードバックフォームへのご記入をお待ちしております。

ジョークMCPサーバーの詳細

これはTypeScript SDK上に構築されたMCPサーバーです。

この MCP サーバーを使用すると、次の Web サイトからジョークを取得できるようになります。

サーバーをローカルで実行する場合は、リポジトリのルートでnpm installを実行してください。

その後、 npm run build実行してサーバーをビルドし、 npm start実行してサーバーを起動できます。

ツール

以下のツールが含まれています:

ゲットチャックジョーク

このツールは、 chucknorris.ioからランダムにチャック・ノリスのジョークを取得します。

チャックカテゴリーを取得する

このツールは、 chucknorris.ioから利用可能なカテゴリを取得します。

お父さんのジョーク

このツールは、 icanhazdadjoke.comからランダムな Dad Joke を取得します。

ママを騙すジョーク

このツールは、 yomama-jokes.comからランダムな Yo Mama Joke を取得します。

既知の問題と計画されている改善

Microsoft Copilot Studio の MCP には、既知の問題と改善予定がいくつかあります。これらの問題は、こちらの Microsoft Learn の記事に記載されています。

貢献

このプロジェクトでは、貢献と提案を歓迎しています。ほとんどの貢献には、貢献者ライセンス契約(CLA)への同意が必要です。CLAは、貢献者がその貢献を利用する権利を有し、実際にその権利をMicrosoftに付与することを宣言するものです。詳細については、 https://cla.opensource.microsoft.comをご覧ください。

プルリクエストを送信すると、CLAボットがCLAが必要かどうかを自動的に判断し、適切な装飾(ステータス確認、コメントなど)をPRに施します。ボットの指示に従うだけで、CLAを使用しているすべてのリポジトリでこの操作を一度だけ実行すれば完了です。

このプロジェクトは、Microsoft オープンソース行動規範を採用しています。詳細については、行動規範に関する FAQ をご覧ください。ご質問やご意見がございましたら、 opencode@microsoft.comまでお問い合わせください。

商標

このプロジェクトには、プロジェクト、製品、またはサービスの商標またはロゴが含まれている場合があります。Microsoftの商標またはロゴの使用は、 Microsoftの商標およびブランドガイドラインの対象となり、これに従う必要があります。このプロジェクトの改変版におけるMicrosoftの商標またはロゴの使用は、混乱を招いたり、Microsoftのスポンサーシップを暗示したりしてはなりません。第三者の商標またはロゴの使用は、当該第三者のポリシーに従うものとします。

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Microsoft Copilot Studio がチャック・ノリスのジョーク、お父さんのジョーク、ヨー・ママのジョークなど、複数のソースからジョークを取得できるようにする MCP サーバー。

  1. MCPとは何ですか?
    1. MCPとコネクタ
      1. 前提条件
        1. ラボ
          1. テンプレートに基づいて新しいGitHubリポジトリを作成する
          2. Azure Web アプリをデプロイする
          3. Power Platform コネクタを作成する
          4. Microsoft Copilot Studio で MCP サーバーをアクションとして追加します。
        2. ジョークMCPサーバーの詳細
          1. ツール
            1. ゲットチャックジョーク
            2. チャックカテゴリーを取得する
            3. お父さんのジョーク
            4. ママを騙すジョーク
          2. 既知の問題と計画されている改善
            1. 貢献
              1. 商標

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
                  Last updated -
                  3
                  4
                  JavaScript
                  MIT License
                • 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
                  -
                  license
                  -
                  quality
                  An MCP server that allows users to play the 'Turtle Soup' puzzle game with LLMs acting as game hosts, providing tools to access game rules, puzzles, and comprehensive puzzle information.
                  Last updated -
                  2
                  Python
                • -
                  security
                  -
                  license
                  -
                  quality
                  A joke/demo Model Context Protocol server that injects cringe-worthy advertisements into LLM responses, showcasing both how to build MCP servers and the risks of ad-injecting intermediaries.
                  Last updated -
                  TypeScript
                  MIT License

                View all related MCP servers

                ID: frzc46bx7p