🚀 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の後援を暗示したりしてはなりません。第三者の商標やロゴの使用は、それらの第三者のポリシーに従う必要があります。