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ラボへようこそ。このラボでは、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 とコネクタを組み合わせると非常に効果的です。

⚙️ 前提条件

  • Visual Studio Code (リンク)
  • Node v22 ( Windows の場合は nvm 、またはnvm経由でインストールするのが理想的)
  • Git をインストールしました (リンク)
  • Azure 開発者 CLI (リンク)
  • Azure サブスクリプション (支払い方法を追加)
  • GitHubアカウント
  • Copilot Studio のトライアルまたは開発者アカウント
  • Power Platform 環境がプロビジョニングされました - 次のトグルがオンになっています:

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

  1. Use this template選択
  2. 「新しいリポジトリを作成」を選択します
  3. 適切なOwnerを選択します(選択できる所有者が 1 人だけの場合は、既に選択されている可能性があります)。
  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. Visual Studio Codeターミナルの上部にあるPORTSを選択します。
  4. 緑色のForward a Portボタンを選択します
  5. ポート番号として3000入力してください(これは手順5でコマンドを実行した際に表示されたポート番号と同じはずです)。GitHubへのサインインを求められる場合があります。ポート転送機能を使用するにはサインインが必要なので、サインインしてください。
  6. 追加した行を右クリックし、 Port visibility > Publicを選択して、サーバーを公開します。
  7. Forwarded addressを Ctrl キーを押しながらクリックします。次のようになります: 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 にデプロイする

[!IMPORTANT]前提条件に記載されているように、この部分ではAzure Developer CLI がマシンにインストールされている必要があります。

まだ Azure Developer CLI にログインしていない場合は、必ずログインしてください。

azd auth login

[!警告]
azd up実行すると、Azure 上で公開されている MCP サーバーが稼働します。理想的には、これは避けたいものです。ラボ終了後は必ずazd downを実行し、Azure サブスクリプションからすべてのリソースを削除してください。azd azd down実行方法については、こちらのセクションをご覧ください。

ターミナルで次のコマンドを実行します。

azd up

一意の環境名として、 mcsmcplab 」などを入力してください。使用するAzureサブスクリプションを選択し、場所の値を選択してください。その後、サーバーのデプロイが完了するまで数分かかります。完了したら、末尾に記載されているURLにアクセスし、URLの末尾に/mcpを追加してください。

次のエラーが再度表示されます。

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

👨‍💻 Visual Studio Code / GitHub Copilot で Jokes MCP サーバーを使用する

Jokes MCP サーバーを使用するには、末尾に/mcpを付けたサーバーの URL (devtunnel URL またはデプロイされた Azure コンテナー アプリのいずれか) を使用し、Visual Studio Code で MCP サーバーとして追加する必要があります。

  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サーバーの設定をユーザー設定に保存します。これにより、 settings.jsonファイルに MCP サーバーが追加されます。内容は以下のようになります。
  8. GitHub Copilotを開く
  9. AskからAgentへ切り替える
  10. ツール アイコンを選択するときに、 JokesMCPサーバー アクションが選択されていることを確認してください。

  1. 次の質問をしてください。
Get a chuck norris joke from the Dev category

次のような応答が返されます。

これで、 JokesMCPサーバーが Visual Studio Code に追加されました。

👨‍💻 Microsoft Copilot Studio で Jokes MCP サーバーを使用する

コネクタをインポートする

  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. 生成AI Orchestration有効にする

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

  1. 上部メニューのToolsを選択

  1. Add a tool選択

  1. Model Context Protocolタブを選択して、すべてのモデルコンテキストプロトコルサーバーをフィルタリングします(下のスクリーンショットの番号1を参照)。
  2. Jokes MCPサーバーを選択します(下のスクリーンショットの番号2を参照)

  1. Not connectedと「新しい接続を作成」を選択して新しい接続を作成します

  1. Create選択

  1. ツールをAdd to agentを選択します。

  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?

すると、追加の権限ではなく、チャック・ノリスのジョークが表示されます。もし表示されない場合は、環境設定でget new features earlyがオンになっているという前提条件を見落としている可能性があります。

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

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

これが、Microsoft Copilot Studio で動作する Jokes MCP サーバーです。

❌ Azureリソースを削除する

ラボの終了後に Azure リソースを削除するには、ターミナルで次のコマンドを実行します。

azd down

このコマンドは、削除されるリソースを表示し、確認を求めます。 yを入力すると、リソースが削除されます。この処理には数分かかる場合がありますが、最後に確認メッセージが表示されます。

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

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のスポンサーシップを暗示したりしてはなりません。第三者の商標またはロゴの使用は、当該第三者のポリシーに従うものとします。

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