Copilot StudioがMCPに対応しているとのことなので、Azure App Service上のMCPサーバーに接続してツールを呼び出してみた。
MCP(モデルコンテキストプロトコル)とは
MCP(モデルコンテキストプロトコル)は、簡単に言うと「AIと外部のツールやデータをつなぐための共通ルール」。
これまでは、AIに新しいツール(検索機能、カレンダーなど)を連携させるたび、開発者は各ツール専用の接続を作る必要があったけど、一度AIをMCPに対応させれば、他のMCP対応ツールとは追加作業なしで簡単に連携することができる。
詳しい解説は他のサイトで非常に丁寧に教えてくれているので、割愛。
公式によるとCopilot Studioは、(プレビューではあるけど)このMCPに対応しているようなので、今回はCopilot StudioのエージェントからMCPサーバーの呼び出しを試してみた。
構築
今回はこちらのGitHubの内容を参考に、MCPサーバーの立ち上げから、Copilot Studioのエージェントから呼び出すところまで試してみる。
手順1:MCPサーバーの立ち上げ
まずは上記GitHubのテンプレートを使用させていただき、自分用にリポジトリを作成。
サンプルのソースにあるツール(ジョークを作るツール)をそのまま使用してもよいけど、せっかくなので新しくツールを作成し、
※2025/5/6時点でCopilot StudioはMCPの「ツール」のみ対応。

※2025/5/6時点でCopilot StudioはMCPの「ツール」のみ対応。

MCPServerに登録。


そしたらこのコードをAzureのApp Serviceにデプロイ(フリープランでも問題なく動作)。
※こちらの手順もGitHubのReadmeにとても丁寧に記載してくれている。


※こちらの手順もGitHubのReadmeにとても丁寧に記載してくれている。


ブラウザからサーバーにSSEで接続できれば、サーバーの準備は完了。


MCPフレームワークでは、2025/3/26の時点で「SSE」ではなく「HTTP Stream Transport」が推奨となったが、Copilot Studioでは対応していないようなのでSSEを使用する。
手順2:カスタムコネクタの作成
続いてカスタムコネクタの作成。
Power Apps Studioなどの[カスタムコネクタ]で、[最初から作成]を選択し、


適当な名前を付けて続行。


info: title: My Jokes MCP Server description: Get jokes using MCP server. For instance Lou Oshiba jokes. version: "1.0" host: 【App Serviceのドメイン】
[tags]に「Agentic」と「McpSse」が設定されていることを確認し、[コネクタの作成]でカスタムコネクタの作成は完了。


手順3:Copilot Studioでエージェントの作成
最後にMCPサーバーを呼び出すエージェントを作成する。
※設定の[生成]をONにする必要があるので、言語は英語で作成。

※設定の[生成]をONにする必要があるので、言語は英語で作成。

作成したら設定の[生成]をONにする。


そしたら[アクション]タブから[アクションを追加する]を選んで、


[カスタムコネクタ]を選択。


先ほど作成したカスタムコネクタを選び、


説明に「アクションをいつ呼び出すか」を入力し、[アクションの追加]を押す。


以上で構築は完了。
動作確認
コネクタを呼び出すような指示をエージェントに送ると、接続の作成を求められるので、


Connectから接続を作成。


同じメッセージを送信すると、エージェントがMCPサーバーのツールを使用してくれる。


おまけ:ツールの追加も簡単
MCPサーバーとの接続を一度作ってしまえば、このサーバーに登録されているツールの情報をCopilot Studio側で取得してくれるので、ツールを追加するのが非常に簡単。
例えば先ほどのコードにツールを追加し、


再度デプロイ。


Copilot Studio側はどんなときに呼び出すか、を更新してあげるだけで、


エージェントが新しいツールを使ってくれる。


このMCPが主流になってくれれば、今後ツールを作って運用するのがとても楽になりそう。
コメント