Microsoft Copilot Studio ❤️ MCP について
MCPサーバーのデプロイとMicrosoft Copilot Studioへの接続方法を示す開発者向けラボです。ローカル実行、Azureへのデプロイ、Copilot Studioでのツール追加を扱います。
主な機能
- 01MCPサーバーのローカル実行
- 02Azureへのデプロイ
- 03Visual Studio Codeへの接続
- 04Copilot Studioコネクターのインポート
活用シーン
- 01MCPサーバーのデプロイ方法の学習
- 02Copilot StudioへのMCPツール追加
- 03ラボ用サーバーのAzureデプロイ
MCP 対応
HTTP経由でMCPサーバーをVisual Studio Codeに接続する方法と、コネクター経由でMicrosoft Copilot Studioに追加する方法を説明します。サンプルサーバーはJokesツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Microsoft Copilot Studio ❤️ MCP
Microsoft Copilot Studio ❤️ MCP ラボへようこそ。このラボでは、MCP サーバーのデプロイ方法と、Microsoft Copilot Studio への追加方法を学びます。
❓ MCP とは?
Model Context Protocol(MCP) は、LLM にコンテキストを提供する方法を標準化するオープンプロトコルであり、Anthropic によって定義されています。MCP は、AI モデルをさまざまなデータソースやツールに接続するための標準的な方法を提供します。MCP を使うと、既存のナレッジサーバーや API を Copilot Studio に直接シームレスに統合できます。
現在、Copilot Studio がサポートしているのはツールのみです。現在の機能について詳しくは、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を選択します(選択可能な 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 Server が起動し、一般公開されます。これは望ましくありません。ラボの終了後にazd downを実行し、Azure サブスクリプションからすべてのリソースを削除してください。azd downの実行方法は、こちらのセクションをご覧ください。
ターミナルで次のコマンドを実行します:
azd up
一意の環境名には、mcsmcplab またはそれに似た名前を入力します。使用する Azure サブスクリプションを選択し、場所の値を選択します。その後、サーバーがデプロイされるまで数分かかります。完了すると、最後に表示された URL にアクセスし、末尾に /mcp を追加できます。

再び次のエラーが表示されるはずです:
{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}
👨💻 Visual Studio Code/GitHub Copilot で Jokes MCP Server を使用する
Jokes MCP Server を使用するには、サーバーの URL(devtunnel の URL またはデプロイ済みの Azure Container App のどちらでも可)の末尾に /mcp を付け、その URL を 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 サーバーの設定をユーザー設定に保存します。これにより、MCP サーバーが
settings.jsonファイルに追加されます。次のようになります。
-
GitHub Copilotを開きます。 -
AskからAgentに切り替えます。 -
ツールアイコンを選択したときに、
JokesMCPサーバーのアクションが選択されていることを確認します。
-
次の質問をします。
Get a chuck norris joke from the Dev category
次のような回答が表示されます。

これで、JokesMCP サーバーが Visual Studio Code に追加されました。
👨💻 Microsoft Copilot Studio で Jokes MCP Server を使用する
コネクタをインポートする
-
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 を適切な内容に変更します。
-
ルート URL(たとえば、
something-3000.something.devtunnels.msまたはsomething.azurecontainerapps.io)を Host フィールドに貼り付けます。 -
Create connector を選択します。
警告
作成時に警告とエラーが表示される場合があります。まもなく解消されるはずですが、現時点では無視してかまいません。
- コネクタを閉じます。
エージェントを作成し、MCP サーバーをツールとして追加する
-
右上隅にある環境ピッカーを選択します。
-
適切な環境(
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: * ユーザーがジョークや関連する内容(例:「何か面白いことを教えて」)を求めた場合にのみ応答します。 * ユーザーの入力から、好みの口調やユーモアの種類(上品なもの、ブラックユーモア、淡々としたもの、ダジャレ、おやじギャグなど)を判断し、それに合わせます。 * 決してキャラクターを崩したり、ユーモアに関係のない情報を提供したりしないでください。 * ジョークは簡潔にし、分かりやすく書式を整えてください。 * 攻撃的、差別的、または成人向けの内容は避けてください。 * ユーモアの好みが分からない場合は、気の利いた、誰にでも受け入れられるジョークを選んでください。 * 同じセッション内でジョークを繰り返さないでください。 * 明示的に求められない限り、ジョークの説明は避けてください。 * 反応よく、機知に富み、素早く応答してください。 -
右上の
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?追加のアクセス許可ではなく、Chuck Norris のジョークが表示されます。そうならない場合は、環境で
get new features earlyの切り替えがオンになっている必要があるという前提条件を見落としている可能性があります。
-
Test your agentペインで、次のメッセージを送信します。Can I get a Dad joke?今度はおやじギャグが表示されます。

これで、Jokes MCP サーバーが Microsoft Copilot Studio で動作しました。
❌ Azure リソースを削除する
ラボの終了後に Azure リソースを削除するには、ターミナルで次のコマンドを実行します。
azd down
このコマンドを実行すると、削除されるリソースが表示され、確認を求められます。y で確認すると、リソースが削除されます。数分かかることがありますが、最後に確認メッセージが表示されます。

💡 既知の問題と今後の改善予定
Microsoft Copilot Studio の MCP には、既知の問題と今後の改善予定があります。こちらの Microsoft Learn の記事に記載されています。
🗣️ フィードバック
このラボを気に入っていただけたら幸いです。改善に役立てるため、フィードバックフォームへの記入にご協力ください。
🚀 貢献
このプロジェクトでは、貢献や提案を歓迎しています。ほとんどの貢献には、貢献者ライセンス契約(CLA)への同意が必要です。この契約では、ご自身の貢献を使用する権利を当社に付与する権利を有していること、また実際にその権利を付与することを宣言します。詳細については、https://cla.opensource.microsoft.com をご覧ください。
プルリクエストを送信すると、CLA ボットが CLA の提出が必要かどうかを自動的に判断し、適切な表示(ステータスチェックやコメントなど)を追加します。ボットの指示に従ってください。この CLA への対応は、対象となるすべてのリポジトリで一度行うだけで済みます。
このプロジェクトでは、Microsoft オープンソース行動規範を採用しています。詳細については、行動規範に関する FAQをご覧いただくか、ご質問やご意見がありましたら [email protected] までお問い合わせください。
™️ 商標
このプロジェクトには、プロジェクト、製品、サービスの商標やロゴが含まれている場合があります。Microsoft の商標やロゴを使用する場合は、許可された使用方法に従い、Microsoft の商標およびブランドに関するガイドラインを遵守する必要があります。 このプロジェクトを改変したバージョンで Microsoft の商標やロゴを使用する場合、混乱を招いたり、Microsoft が後援していると誤解させたりしてはなりません。 第三者の商標やロゴを使用する場合は、それぞれの第三者のポリシーが適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。