🚀 Microsoft Copilot Studio ❤️ MCP
このラボでは、MCPサーバーのデプロイ方法と、それをMicrosoft Copilot Studioに追加する方法を学びます。
🚀 クイックスタート
このセクションでは、MCPサーバーをデプロイし、Microsoft Copilot Studioで使用するための手順を説明します。
前提条件
- Azureサブスクリプション(支払い方法を追加済み)
- GitHubアカウントを持ち、ログインしていること
- Copilot Studioのトライアルまたは開発者アカウント
- Power Platform環境がプロビジョニングされていること
手順
- テンプレートに基づいて新しいGitHubリポジトリを作成する
- Azure Webアプリをデプロイする
- Power Platformコネクタを作成する
- Microsoft Copilot StudioでMCPサーバーをアクションとして追加する
テンプレートに基づいて新しいGitHubリポジトリを作成する
-
Use this templateを選択します。
-
Create a new repositoryを選択します。
-
適切なOwnerを選択します。
-
Repository nameを入力します。
-
必要に応じてDescriptionを入力します。
-
Privateを選択します。
-
Create repositoryを選択します。
これには少し時間がかかります。完了すると、新しく作成されたリポジトリに移動します。
⚠️ 重要提示
このラボの手順を完了すると、Azure上で公開されたMCPサーバーが実行されます。理想的には、これを避ける必要があります。ラボが終了したら、Azure Webアプリを削除することを確認してください。
Azure Webアプリをデプロイする
-
portal.azure.comにアクセスします。
-
Resource groupsタブにマウスをホバーし、Createを選択します。
-
Subscriptionドロップダウンをクリックし、リストからサブスクリプションを選択します。
-
Resource group名のテキストボックスをクリックし、「jokesgrp」などのリソースグループ名を入力します。
-
Regionドロップダウンを選択し、最寄りのリージョンを選択します。
-
Review + createをクリックします。
-
Createをクリックします。
-
Go to resource groupを選択します。
-
Createを選択します。
-
search boxをクリックします。
-
web appと入力します。
-
Web Appの検索結果でCreate buttonを選択します。
-
Web Appを選択します。
-
Nameテキスト入力欄を選択し、「wegotjokes」などのWebアプリ名を入力します。
-
Runtime stackドロップダウンを選択し、Node 22 LTSを選択します。
-
Regionドロップダウンを選択し、最寄りのリージョンを選択します。
-
Review + createをクリックします。
-
Createをクリックします。
-
Refreshをクリックして、デプロイの進捗状況を更新します。
-
デプロイが完了したら、Go to resourceを選択します。
-
Deploymentタブを展開します。
-
Deployment Centerをクリックします。
-
Sourceドロップダウンをクリックし、GitHubを選択します。
-
Authorizeを選択します。
-
Continueを選択します。
-
Authorize AzureAppServiceを選択します。
-
Organizationドロップダウンをクリックし、組織を選択します。
-
Repositoryドロップダウンをクリックし、前に作成したGitHubリポジトリをリストから選択します。
-
Branchドロップダウンをクリックし、ブランチを選択します。
-
その他の項目はデフォルトのままにし、Saveを選択します。
-
Refreshをクリックして、デプロイの状態を更新します。
-
デプロイが完了したことを確認します。
Power Platformコネクタを作成する
-
https://make.powerapps.com/にアクセスします。
-
左メニューでMoreを選択します。
-
Discover allボタンを選択します。
-
データの下で、Custom connectorsの横にあるpin iconを選択して、左メニューに固定します。
-
左メニューでCustom connectorsを選択します。
-
New custom connectorを選択します。
-
Create from blankを選択します。
-
コネクタに名前を付けます(例:JokesMCP)。
-
青いContinueボタンを選択します。
-
Swagger editorトグルを選択します。
-
ここからyamlコードをコピーし、Swaggerエディタのコードを置き換えます。
-
Swaggerエディタで、dummyurl.azurewebsites.netを前に作成したWebアプリのURLに置き換えます。https://とazurewebsites.net以降のすべてを削除することを確認してください。
-
Create connectorを選択して、コネクタを作成します。
Microsoft Copilot StudioでMCPサーバーをアクションとして追加する
これで、Azure上でMCPサーバーが実行され、Power Platformでコネクタが使用可能になりました。この手順では、Microsoft Copilot Studioでエージェントを作成し、MCPサーバーをエージェントに追加する方法について説明します。
-
https://copilotstudio.microsoft.comにアクセスします。
-
右上隅の環境選択ツールを選択します。
-
適切な環境を選択します。
-
左側のナビゲーションでCreateを選択します。
-
青いNew agentボタンを選択します。
-
右上のSkip to configureを選択します。
-
名前をJokesterに変更します。
-
以下のDescriptionを追加します。
ユーザーの要求に応じて、簡潔で魅力的なジョークのみを提供するユーモア中心のエージェントです。ユーザーのトーンや好みに合わせてスタイルを調整します。キャラクターを維持し、繰り返しを避け、不快な内容をフィルタリングして、常に適切で面白い体験を提供します。
-
以下のInstructionsを追加します。
あなたはジョークを話すアシスタントです。唯一の目的は、要求に応じて適切で巧妙で魅力的なジョークを提供することです。次のルールに従ってください。
* ユーザーがジョークまたは関連するもの(例:「面白いことを教えて」)を要求したときにのみ応答します。
* ユーザーの入力に基づいて、ユーザーのトーンとユーモアの好みに合わせます — クリーン、ダーク、ドライ、パンベース、ダッドジョークなど。
* キャラクターを崩さず、ユーモアに関係のない情報を提供しないでください。
* ジョークを簡潔に、明確な形式で提供します。
* 不快な、差別的な、または不適切な内容を避けます。
* ユーモアの好みがわからない場合は、巧妙で普遍的に適切なジョークをデフォルトとします。
* 同じセッション内でジョークを繰り返さないでください。
* 明示的に要求されない限り、ジョークの説明を避けます。
* 応答性があり、機知に富み、迅速であること。
-
右上のCreateを選択します。
-
生成AIのOrchestrationを有効にします。
-
Knowledgeセクションで一般知識を無効にします。
-
上部メニューでActionsを選択します。
-
Add an actionを選択します。
-
前に作成したコネクタの名前(この場合はjokes)を検索します(下のスクリーンショットの番号1を参照)。
-
Jokes MCP serverを選択します(下のスクリーンショットの番号2を参照)。
-
接続が作成されるのを待ち、完了したらNextを選択します。
-
Description for the agent to know when to use this actionを以下のテキストに変更します。
ユーザーがジョークを要求したときにこのアクションをトリガーします。チャック・ノリスのジョーク、ダッドジョーク、ヨーママのジョークを提供できます。
残りの項目はデフォルトのままにします。たとえば、エンドユーザーの認証については、すぐに詳しく学びます。
-
Add actionを選択して、アクションをエージェントに追加します。
-
Test your agentペインのrefresh iconを選択します。
-
Test your agentペインで以下のメッセージを送信します。
Can I get a Chuck Norris joke?
これにより、このアクションを実行するには追加の権限が必要であることを示すメッセージが表示されます。これは、アクションウィザードでのユーザー認証のためです。
-
Connectを選択します。
これにより、このエージェントの接続を管理できる新しいウィンドウが開きます。
-
JokesMCPの横にあるConnectを選択します。
-
接続が作成されるのを待ち、Submitを選択します。
-
接続が確立されると、ステータスがConnectedに設定されるはずです。
-
ブラウザで接続管理タブを閉じます。
これで、Jokesterエージェントの画面に戻るはずです。
-
Test your agentペインのrefresh iconを選択します。
-
Test your agentペインで以下のメッセージを送信します。
Can I get a Chuck Norris joke?
これにより、追加の権限の代わりにチャック・ノリスのジョークが表示されます。
-
Test your agentペインで以下のメッセージを送信します。
Can I get a Dad joke?
これにより、ダッドジョークが表示されます。
-
Test your agentペインで以下のメッセージを送信します。
Can I get a Yo Mama joke?
これにより、ヨーママのジョークが表示されます。
これで、Jokes MCP Serverが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とコネクタは相性が良いのです。
📚 ドキュメント
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からランダムなヨーママのジョークを取得します。
🔧 技術詳細
既知の問題と計画された改善点
Microsoft Copilot StudioのMCPには、いくつかの既知の問題と計画された改善点があります。これらはこのMicrosoft Learn記事にリストされています。
📄 ライセンス
コントリビューション
このプロジェクトは、コントリビューションや提案を歓迎しています。ほとんどのコントリビューションには、あなたが貢献を使用する権利を私たちに付与することを宣言するコントリビューターライセンス契約書(CLA)に同意する必要があります。詳細については、https://cla.opensource.microsoft.com を参照してください。
プルリクエストを送信すると、CLAボットが自動的にあなたがCLAを提供する必要があるかどうかを判断し、PRに適切に装飾します(例:ステータスチェック、コメント)。ボットが提供する指示に従ってください。私たちのCLAを使用するすべてのリポジトリで、これを1回だけ行う必要があります。
このプロジェクトは、Microsoft Open Source Code of Conductを採用しています。詳細については、Code of Conduct FAQを参照するか、追加の質問やコメントがある場合はopencode@microsoft.comにお問い合わせください。
商標
このプロジェクトには、プロジェクト、製品、またはサービスの商標やロゴが含まれている場合があります。Microsoftの商標やロゴの許可された使用は、Microsoftの商標とブランドガイドラインに従う必要があります。このプロジェクトの修正版でMicrosoftの商標やロゴを使用する場合は、混乱を招いたり、Microsoftの後援を暗示したりしてはなりません。第三者の商標やロゴの使用は、それらの第三者のポリシーに従う必要があります。