はじめに
社内で自作MCPサーバーを使ってもらいたいとき、非エンジニアでも馴染みがあるTeams から使えることは重要です。本記事は、Microsoft Copilot Studio で作ったエージェントに OAuth必須のリモート MCP サーバー を接続し、Teamsのチャットボット として安全に公開するまでをまとめたものです。Entra ID の認可・カスタムコネクタ によるアクセストークン管理・権限設計の注意点を、実際に構築してみて得られた知見とともに紹介します。スクショ中心の手順になりますが、ご了承ください。
2025/12/10時点の情報です。AI関連は更新が早いためスクショした操作画面は古い可能性があります。
前提
本記事では以下を前提としています。
- リモートMCPサーバー
- プロトコル仕様: MCP 2025-11-25版
- 認証基盤: Microsoft Entra ID (OAuth 2.0)
- Copilot Studio
- 開発者のみ以下のいずれかのライセンスを保持 (エンドユーザーは不要)
- Microsoft 365 Copilot
- Copilot Studio 従量課金 or 前払い
- 開発者のみ以下のいずれかのライセンスを保持 (エンドユーザーは不要)
- PowerPlatform環境の設定によっては権限設定が難しいかもしれません
- 管理者にお問い合わせください
全体図
上記を構築していきます。OAuth認証のMCPサーバーを繋げる場合、PowerPlatformのカスタムコネクタが自動作成されます。カスタムコネクタはアクセストークンの管理を担っています。認証不要なMCPサーバーを繋げる場合は登場しません。
Copilot Studio
Copilot Studio は、エージェントとエージェント フローの構築に使用できるグラフィカルでローコードなツールです。
Copilot Studioで作成したエージェントにリモートMCPサーバーを接続します。エージェントをTeamsに接続することで、Teamsから使えるようになります。
ライセンス形態
- Microsoft 365 Copilot
- Microsoft Copilot Studio
- 従量課金
- 前払い
Copilot Studioには上記のライセンス形態があります。いずれかを購入してお使いください。Microsoft 365 CopilotにCopilot Studio以外も含まれています。
エージェント作成
上記より、Copilot Studioの画面に遷移します。

Copilot Studioの画面より、左メニューバー「エージェント」→「新しいエージェント」から作成画面に進みます。

適当な名前にし、右上の「作成」よりエージェントを構築します。
リモートMCPサーバーを接続
独自MCPサーバーを繋げるためには「ツール」を用います。

サーバー名などの必要な項目を入力し、認証設定で「OAuth2.0」および「手動」を選択してください。

各入力値はOAuth認証するオブジェクトによって異なります。今回はEntraIDの場合をご紹介します。
| 名前 | 例 | 備考 |
|---|---|---|
| クライアントID | 画像の赤枠よりコピー | 公式ドキュメントを参考 |
| クライアントシークレット | 画像の赤枠よりコピー | 公式ドキュメントを参考 |
| 認証 URL | https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/oauth2/v2.0/authorize |
赤枠の「エンドポイント」より確認できます。 |
| トークン URL テンプレート | https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/oauth2/v2.0/token |
赤枠の「エンドポイント」より確認できます。 |
| 更新URL | https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/oauth2/v2.0/token |
赤枠の「エンドポイント」より確認できます。 |
| スコープ | api://xxxxxxxxxxxxxxx/user_impersonation |
アプリケーションによって変更する |
上記を入力し、「作成」をクリックしてください。

リダイレクトURLが出てくるので、EntraIDのアプリに登録します。

「Authetication」→「編集」からリダイレクトURIを登録します。その後、画面をCopilot Studioに戻して「次へ」をクリックしてください。

「未接続」をクリックし、新しい接続を作成してください。ここでMicrosoftのサインイン画面に遷移します。

サインインが成功すると、緑のチェックマークがつきます。「追加と構成」をクリックすることでエージェントにツールが追加されます。
Teamsへエージェントを展開する
権限設定
エージェントを誰に使わせるかという権限設定を実施する必要があります。以下の2つに実施が必要です。
- エージェント
- カスタムコネクタ
エージェント

必ず「クラシック共有を使用する」を選択してください。選択後、もう一度「共有する」から画面を開きます。
ユーザー/Entraグループを指定することができます。権限は「閲覧者」以上です。
「新しいユーザーに招待メールを送信する」箇所のチェックが外れていることを確認してください。チェックが付いているとメールが送信されます。
最後に、「共有」をクリックすることで権限付与ができます。
カスタムコネクタ
Copilot Studioの画面の左メニューバー「ツール」より、カスタムコネクタ一覧を表示します。該当のカスタムコネクタをクリックしてください。

カスタムコネクタの詳細画面に入ります。「←」の戻るボタンをクリックしてください。

カスタムコネクタ一覧画面が表示されるので、該当コネクタの「・・・」→「他のユーザーを招待します」をクリックしてください。

ユーザー/Entraグループを検索できます。権限は「表示 + 共有可能」です。
最後に「保存」をクリックしてください。
エージェントを展開
「チャネル」→「TeamsとMicrosoft 365 Copilot」→「チャネルを追加する」を選択してください。

「TeamsとMicrosoft 365 Copilot」からもう一度画面を開き、「可用性オプション」を選択してください。

「リンクのコピー」をクリックしてください。
コピーされたリンクを、エージェントを使わせたいユーザー、チームに展開してください。
Teamsでエージェントと会話
1対1 (DM)
リンクをクリックすると、Teamsで以下の画面がポップアップします。

最初の会話では、「接続マネージャーを開く」からアクセストークンを更新するように促されます。
「接続マネージャーを開く」をクリックしてください。

「・・・」よりアクセストークンを更新します。更新後、「送信する」を選択してください。

Teamsのチャットに戻り、「再試行」をクリックするとエージェントから回答を受け取ることができます。以降の会話では同じアクセストークンが使われるため、初回時/アクセストークン期限切れ時に「接続マネージャー」からの更新が必要になります。
グループチャット
エージェントに対して組織全体に閲覧権限が自動的に付与されます (手動での剥奪可能)

エージェントのページより、「チャネル」→「TeamsとMicrosoft 365 Copilot」→「詳細の編集」を選択してください。

必要に応じて、赤枠箇所にチェックボックスを入れて「保存」を押してください。
その後、「公開」をクリックしてデプロイしてください。その際に組織全体に対して閲覧権限が自動付与されます。もし、付与されたくない場合は、手動で剥奪してください。

前述と同様に「可用性オプション」→「リンクのコピー」をクリックしてください。

リンクを踏むと展開したいグループチャットや会議チャットが選択可能になります。

グループチャットでは、エージェントにメンションを送ることで回答してくれます。
グループ内にエージェントへの権限を保持していない方がいる場合、エージェントが答えてくれない場合があります。組織全体への権限設定を手動で無理やり剥奪した影響だと思います
まとめ
本記事では、Copilot Studio を用いて OAuth必須のリモート MCP サーバー を Teamsのチャットボット として展開する手順を紹介しました。
一方で、Teamsの使い勝手に難があり度々発生するアクセストークン更新のUX改善やときどき応答が返らない/反応しないなどの原因不明のバグも見られるため、改善のアップデートに期待しています。
参考文献














