🚀 Microsoft Copilot Studio ❤️ MCP
このラボでは、MCP サーバーのデプロイ方法と、それを Microsoft Copilot Studio に追加する方法を学びます。
❓ MCP とは何ですか?
Model Context Protocol (MCP) は、Anthropic によって定義された、アプリケーションが大規模言語モデル (LLM) にコンテキストを提供する方法を標準化するオープンプロトコルです。MCP は、AI モデルをさまざまなデータソースやツールに接続する標準化された方法を提供します。MCP を使用することで、開発者は既存の知識サーバーや API を Copilot Studio にシームレスに統合できます。
現在、Copilot Studio は Tools のみをサポートしています。現在の機能の詳細については、aka.ms/mcsmcp を参照してください。既知の問題と予定されている改善点については、こちら にリストされています。
🆚 MCP とコネクタの比較
MCP とコネクタはいつ使うのでしょうか?MCP はコネクタを置き換えるのでしょうか?
MCP サーバーは、コネクタインフラストラクチャを使用して Copilot Studio で利用できるようになっています。したがって、これらの質問はあまり当てはまりません。MCP サーバーがコネクタインフラストラクチャを使用することで、仮想ネットワーク 統合、データ損失防止 コントロール、複数の認証方法 などのエンタープライズセキュリティとガバナンスコントロールを利用できます。これらはすべてこのリリースで利用可能であり、AI パワードエージェントのリアルタイムデータアクセスもサポートしています。
したがって、MCP とコネクタは 相乗効果があります。
🔧 前提条件
- Visual Studio Code (リンク)
- Node v22 (理想的には nvm for Windows または nvm を介してインストール)
- Git のインストール (リンク)
- Azure Developer CLI (リンク)
- Azure サブスクリプション (支払い方法を追加済み)
- GitHub アカウント
- Copilot Studio のトライアルまたは開発者アカウント
- Power Platform 環境のプロビジョニング - 次のトグルをオンにする:

➕ テンプレートに基づいて新しい GitHub リポジトリを作成する
-
Use this template
を選択します。
-
Create a new repository
を選択します。

-
適切な Owner
を選択します (選択肢が 1 つしかない場合は自動的に選択されている場合があります)。
-
Repository name
を入力します。
-
必要に応じて Description
を入力します。
-
Private
を選択します。
-
Create repository
を選択します。
これには少し時間がかかります。完了すると、新しく作成されたリポジトリにリダイレクトされます。
⚖️ 選択: サーバーをローカルで実行するか、Azure にデプロイするか
ここで選択肢があります!サーバーをローカルで実行するか、Azure にデプロイするかを選べます。
どちらの場合も、いくつかの手順が必要です:
-
次のコマンドを実行してこのリポジトリをクローンします ({account}
はあなたの GitHub アカウント名に置き換えてください):
git clone https://github.com/{account}/mcsmcp.git
-
Visual Studio Code を開き、クローンしたフォルダを開きます。
-
ターミナルを開き、クローンしたフォルダに移動します。
🏃♀️ MCP サーバーをローカルで実行する
-
npm install
を実行します。
-
npm run build && npm run start
を実行します。

-
Visual Studio Code ターミナルの上部にある PORTS
を選択します。

-
緑色の Forward a Port
ボタンを選択します。

-
ポート番号として 3000
を入力します (これは手順 5 でコマンドを実行したときに表示されるポート番号と同じである必要があります)。GitHub にサインインするように促される場合があります。ポート転送機能を使用するには、これを行ってください。
-
新しく追加した行を右クリックし、Port visibility
> Public
を選択して、サーバーを公開するようにします。
-
Forwarded address
を Ctrl + クリックします。これは https://something-3000.something.devtunnels.ms
のようなものになるはずです。
-
表示されるポップアップで Copy
を選択して、URL をコピーします。

-
好みのブラウザを開き、アドレスバーに URL を貼り付け、末尾に /mcp
を追加して Enter キーを押します。
すべてが正常に行われた場合、次のエラーメッセージが表示されます:
{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}
心配する必要はありません!このエラーメッセージは問題ありません。
🌎 Azure にデプロイする
⚠️ 重要な注意
前提条件 に記載されているように、この部分では Azure Developer CLI をマシンにインストールする必要があります。
まだログインしていない場合は、Azure Developer CLI にログインしてください。
azd auth login
⚠️ 重要な注意
azd up
を実行すると、Azure 上で公開された MCP サーバーが実行されます。理想的にはこれは望ましくありません。ラボが終了したら、azd down
を実行して、Azure サブスクリプションからすべてのリソースを削除してください。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 サーバーを使用するには、サーバーの URL (開発トンネル URL またはデプロイされた Azure コンテナー アプリの URL のいずれか) の末尾に /mcp
を追加し、Visual Studio Code で MCP サーバーとして追加する必要があります。
-
ctrl
+ shift
+ P
(Windows/Linux) または cmd
+ shift
+ P
(Mac) を押し、MCP
と入力します。
-
MCP: Add Server...
を選択します。
-
HTTP (HTTP or Server-Sent Events)
を選択します。
-
入力ボックスにサーバーの URL を貼り付けます (末尾に /mcp
が含まれていることを確認してください)。
-
Enter
キーを押します。
-
サーバーの名前を入力します。たとえば、JokesMCP
と入力します。
-
User Settings
を選択して、MCP サーバーの設定をユーザー設定に保存します。
これにより、settings.json
ファイルに MCP サーバーが追加されます。これは次のようになるはずです:

-
GitHub Copilot
を開きます。
-
Ask
から Agent
に切り替えます。
-
ツールアイコンを選択したときに、JokesMCP
サーバーのアクションが選択されていることを確認します:

-
次の質問を入力します:
Get a chuck norris joke from the Dev category
これにより、次のような応答が得られるはずです:

これで、JokesMCP
サーバーを Visual Studio Code に追加しました!
👨💻 Microsoft Copilot Studio で Jokes MCP サーバーを使用する
コネクタのインポート
-
https://make.preview.powerapps.com/customconnectors にアクセスし (適切な環境にいることを確認してください)、+ New custom connector をクリックします。
-
Import from GitHub
を選択します。
-
Connector Type として Custom
を選択します。
-
Branch として dev
を選択します。
-
Connector として MCP-Streamable-HTTP
を選択します。
-
Continue
を選択します。

-
Connector Name を適切な名前に変更します。たとえば、Jokes MCP
と入力します。
-
Description を適切な説明に変更します。
-
Host フィールドにルート URL (たとえば、something-3000.something.devtunnels.ms
または something.azurecontainerapps.io
) を貼り付けます。
-
Create connector を選択します。
⚠️ 重要な注意
作成時に警告やエラーが表示される場合がありますが、すぐに解決されるはずです。現時点では無視してください。
- コネクタを閉じます。
エージェントの作成と MCP サーバーのツールとしての追加
-
https://copilotstudio.preview.microsoft.com/ にアクセスします。
-
右上隅の環境選択ボタンを選択します。
-
適切な環境 (「Get new features early」トグルがオンになっている環境) を選択します。
-
左側のナビゲーションで Create
を選択します。
-
青い New agent
ボタンを選択します。

-
左側の Configure
タブを選択します。

-
名前を Jokester
に変更します。
-
次の 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.
-
次の 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.
-
右上の Continue
を選択します。

-
生成 AI の Orchestration
を有効にします。

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

-
上部メニューで Tools
を選択します。

-
Add a tool
を選択します。

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

-
Not connected
を選択し、Create new Connection を選択して新しい接続を作成します。

-
Create
を選択します。

-
Add to agent
を選択して、ツールをエージェントに追加します。

-
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?
これにより、追加のアクセス許可ではなく、チャック・ノリスのジョークが表示されます。そうならない場合は、環境に「get new features early」トグルがオンになっている 前提条件 を満たしていない可能性があります。

-
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) に同意する必要があります。詳細については、https://cla.opensource.microsoft.com を参照してください。
プルリクエストを送信すると、CLA ボットが自動的にあなたが CLA を提供する必要があるかどうかを判断し、PR に適切な装飾を施します (ステータスチェック、コメントなど)。ボットが提供する指示に従ってください。これは、私たちの CLA を使用するすべてのリポジトリで一度だけ行う必要があります。
このプロジェクトは、Microsoft Open Source Code of Conduct を採用しています。詳細については、Code of Conduct FAQ を参照するか、追加の質問やコメントがある場合は opencode@microsoft.com までお問い合わせください。
™️ 商標
このプロジェクトには、プロジェクト、製品、またはサービスの商標やロゴが含まれている場合があります。Microsoft の商標やロゴの使用は、Microsoft's Trademark & Brand Guidelines に従う必要があります。このプロジェクトの修正版で Microsoft の商標やロゴを使用する場合は、混乱を招いたり、Microsoft の後援を暗示したりしないようにしてください。第三者の商標やロゴの使用は、それらの第三者のポリシーに従う必要があります。