mcpField
M
Microsoft Copilot Studio ❤️ MCP

Microsoft Copilot Studio ❤️ MCP

ローカル
github.com/gecBurton開発ツール077 週間前に更新

Microsoft Copilot Studio ❤️ MCP について

Microsoft Copilot Studio ❤️ MCPは、MCPサーバーのデプロイとMicrosoft Copilot Studioへの追加を学ぶラボガイドです。例のサーバーは、3つのジョークサイトを使った取得ツールをエージェントに提供します。

主な機能

  1. 01Azure Web Appのデプロイ手順
  2. 02Power Platform Connectorの作成
  3. 03MCPサーバーをエージェントのアクションに追加
  4. 043種類のジョークとChuck Norrisのカテゴリ取得

活用シーン

  1. 01Copilot Studioでジョークエージェントを構築
  2. 02Power Platform経由のMCPサーバー接続を学習
  3. 03ツールによるジョーク取得をテスト

MCP 対応

MCPサーバーをデプロイし、Microsoft Copilot Studioに接続する手順を示します。例のサーバーは、Chuck Norris、Dad、Yo Mamaのジョークを取得するツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Microsoft Copilot Studio ❤️ MCP

Microsoft Copilot Studio ❤️ MCP のラボへようこそ。このラボでは、MCP サーバーのデプロイ方法と、Microsoft Copilot Studio への追加方法を学びます。

MCP とは?

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

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

MCP とコネクタの比較

MCP はどのような場合に使用しますか?また、コネクタはどのような場合に使用しますか?MCP はコネクタに取って代わるのでしょうか?

MCP サーバーはコネクタのインフラストラクチャを使用して Copilot Studio で利用できるため、これらの質問は実際には当てはまりません。MCP サーバーがコネクタのインフラストラクチャを使用することで、仮想ネットワークの統合、データ損失防止の制御、複数の認証方法などのエンタープライズ向けセキュリティおよびガバナンス制御を利用できます。これらはすべて今回のリリースで利用可能であり、AI を活用したエージェントによるリアルタイムのデータアクセスもサポートします。

つまり、MCP とコネクタは組み合わせて使うとより効果的です。

前提条件

  • Azure サブスクリプション(支払い方法が追加済みであること)
  • GitHub アカウントを持ち、ログインしていること
  • Copilot Studio の試用版または開発者アカウント
  • Power Platform 環境がプロビジョニング済みであること

ラボ

この MCP サーバーをデプロイして Microsoft Copilot Studio で使用するには、次の操作を行う必要があります。

テンプレートを基に新しい GitHub リポジトリを作成する
  1. Use this template を選択します

  2. Create a new repository を選択します

    README の画像

  3. 適切な Owner を選択します

  4. Repository name を入力します

  5. 必要に応じて Description を入力します

  6. Private を選択します

  7. Create repository を選択します

    完了まで少し時間がかかります。完了すると、新しく作成されたリポジトリに移動します。

警告


このラボの手順を完了すると、Azure 上で一般公開される MCP サーバーが稼働します。これは望ましい状態ではありません。ラボを終えたら、必ず Azure Web App を削除してください。

Azure Web App をデプロイする
  1. portal.azure.com にアクセスします。

    Azure ポータル

  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 をクリックします。

    検索

  11. web app と入力します。

  12. Web App の検索結果にある Create button を選択します。

    検索結果

  13. Web App を選択します。

    Web App の作成

  14. Name の入力欄を選択し、「wegotjokes」などの Web App の名前を入力します。

    Web App 名

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

    Web App のランタイム

  16. Region のドロップダウンを選択し、最寄りのリージョンを選びます。

    リージョン

  17. Review + create をクリックします。

    確認

  18. Create をクリックします。

    作成

  19. Refresh をクリックして、デプロイの進行状況を更新します。

    更新

  20. デプロイが完了したら、Go to resource を選択します。

    リソースに移動

  21. Deployment タブを展開します。

    Deployment タブ

  22. Deployment Center をクリックします。

    Deployment Center

  23. Source のドロップダウンをクリックし、GitHub を選択します。

    ソースの選択

  24. Authorize を選択します。

    認証

  25. Continue を選択します。

    続行

  26. Authorize AzureAppService を選択します。

    AzureAppService の認証

  27. Organization のドロップダウンをクリックし、自分の組織を選択します。

    組織の選択

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

    リポジトリの選択

  29. Branch のドロップダウンをクリックし、自分のブランチを選択します。

    ブランチの選択

  30. それ以外はすべて既定のままにして、Save を選択します。

    保存

  31. Refresh をクリックして、デプロイの状態を更新します。

    更新

  32. デプロイが完了したことを確認します。

    デプロイ完了

Power Platform コネクタを作成する
  1. https://make.powerapps.com/ に移動します

  2. 左側のメニューで More を選択します

  3. Discover all ボタンを選択します

  4. Data の下にある Custom connectors の横の pin icon を選択して、左側のメニューにピン留めします

  5. 左側のメニューで Custom connectors を選択します

  6. New custom connector を選択します

  7. Create from blank を選択します

    README の画像

  8. コネクタに名前を付けます(例:JokesMCP)

  9. 青い Continue ボタンを選択します

  10. Swagger editor の切り替えボタンを選択します

    README の画像

  11. こちら から yaml コードをコピーし、Swagger エディター内のコードを置き換えます

  12. Swagger エディターで、dummyurl.azurewebsites.net を先ほど作成した Web アプリの URL に置き換えます(デプロイ手順)。https:// と azurewebsites.net 以降のすべてを必ず削除してください

  13. 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 を追加します

    ユーザーからのリクエストに応じてのみ、簡潔で魅力的なジョークを届ける、ユーモアを重視したエージェントです。ユーザーの口調や好みに合わせてスタイルを調整します。キャラクターを保ち、同じジョークの繰り返しを避け、不適切な内容を除外することで、常に適切で機知に富んだ体験を提供します。
    
  9. 以下の Instructions を追加します

    あなたはジョークを披露するアシスタントです。あなたの唯一の目的は、リクエストに応じて、適切で気の利いた、魅力的なジョークを届けることです。次のルールに従ってください:
    
    * ユーザーがジョークや関連する内容(例:「何か面白いことを話して」)を求めた場合にのみ応答します。
    * 入力に基づいて、ユーザーの口調やユーモアの好みに合わせます。クリーン、ブラック、ドライ、ダジャレ、親父ギャグなどに対応します。
    * キャラクターを崩したり、ユーモアと関係のない情報を提供したりしてはいけません。
    * ジョークは簡潔にし、分かりやすく書式を整えます。
    * 攻撃的、差別的、または NSFW な内容は避けます。
    * ユーモアの好みが分からない場合は、気の利いた、誰にでも受け入れられるジョークを選びます。
    * 同じセッション内でジョークを繰り返してはいけません。
    * 明示的に求められない限り、ジョークの解説は避けます。
    * 反応よく、機知に富み、素早く応答します。
    
  10. 右上の Create を選択します

    エージェントを作成

  11. 生成 AI の Orchestration を有効にします

    オーケストレーションをオンにする

  12. Knowledge セクションで一般知識を無効にします

    一般知識をオフにする

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

    アクション

  14. Add an action を選択します

    アクションを追加

  15. 先ほど作成したコネクタの名前(この例では jokes)を検索します(下のスクリーンショットの番号 1 を参照)

  16. Jokes MCP server を選択します(下のスクリーンショットの番号 2 を参照)

    アクションを検索して選択

  17. 接続が作成されるまで待ち、完了したら Next を選択します

    アクションと接続

  18. Description for the agent to know when to use this action を次のテキストに変更します:

    ユーザーがジョークを求めたときに、このアクションを実行します。Chuck Norris のジョーク、親父ギャグ、「お前の母ちゃん」ジョークを提供できます。
    

    残りは既定のままにします。たとえば、エンドユーザー認証については、まもなく詳しく説明します。

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

    アクションを追加

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

    テストペインを更新

  21. Test your agent ペインで次のメッセージを送信します。

    Can I get a Chuck Norris joke?
    

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

  22. Connect を選択します

    追加のアクセス許可

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

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

    JokesMCP に接続

  24. 接続が作成されるまで待ち、Submit を選択します

    接続を選択

  25. 接続が完了し、状態が Connected に設定されていることを確認します

    接続済みの状態

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

    これで、Jokester エージェントの画面に戻ります。

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

    テストペインを更新

  28. Test your agent ペインで次のメッセージを送信します。

    Can I get a Chuck Norris joke?
    

    今度は追加のアクセス許可ではなく、チャック・ノリスのジョークが表示されます。

    チャック・ノリスのジョーク

  29. Test your agent ペインで次のメッセージを送信します。

    Can I get a Dad joke?
    

    今度はダジャレが表示されます。

    ダジャレ

  30. Test your agent ペインで次のメッセージを送信します。

    Can I get a Yo Mama joke?
    

    今度は「Yo Mama」ジョークが表示されます。

    Yo Mama ジョーク

これで、Microsoft Copilot Studio で Jokes MCP Server が動作しました。ラボはこれで終了です!ラボを楽しんでいただけたなら幸いです。フィードバックフォームへの記入にご協力ください。

Jokes MCP Server の詳細

これは、TypeScript SDK を基盤として構築された MCP サーバーです。

この 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 からランダムな「Yo Mama」ジョークを取得します。

既知の問題と今後の改善予定

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

コントリビューション

このプロジェクトでは、コントリビューションと提案を歓迎します。ほとんどのコントリビューションでは、自身のコントリビューションを使用する権利を当社に付与する権利を有しており、実際にその権利を付与することを宣言するコントリビューター ライセンス契約(CLA)への同意が必要です。詳細については、https://cla.opensource.microsoft.com をご覧ください。

プルリクエストを送信すると、CLA ボットが CLA の提出が必要かどうかを自動的に判定し、適切な対応(ステータスチェックやコメントなど)を行います。ボットの指示に従ってください。当社の CLA を使用するすべてのリポジトリで、これを行う必要があるのは一度だけです。

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

商標

このプロジェクトには、プロジェクト、製品、サービスの商標またはロゴが含まれている場合があります。Microsoft の商標またはロゴを許可を得て使用する場合は、Microsoft の商標およびブランドに関するガイドラインに従う必要があります。このプロジェクトの変更版で Microsoft の商標またはロゴを使用する場合、混乱を招いたり、Microsoft の後援を受けていると誤解させたりしてはなりません。第三者の商標またはロゴを使用する場合は、それぞれの第三者のポリシーに従う必要があります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。