1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OAuth認証を備えたリモートMCPサーバーをTeamsで使用するまで

Last updated at Posted at 2025-12-15

はじめに

 社内で自作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環境の設定によっては権限設定が難しいかもしれません
    • 管理者にお問い合わせください

全体図

image.png

上記を構築していきます。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の画面に遷移します。

スクリーンショット 2025-12-08 164542.png
Copilot Studioの画面より、左メニューバー「エージェント」→「新しいエージェント」から作成画面に進みます。

スクリーンショット 2025-12-08 164744.png
適当な名前にし、右上の「作成」よりエージェントを構築します。

リモートMCPサーバーを接続

独自MCPサーバーを繋げるためには「ツール」を用います。

スクリーンショット 2025-12-08 165502.png
上部タブ「ツール」→「ツールを追加する」を選択する。

スクリーンショット 2025-12-08 165659.png
「新しいツール」を選択する。

スクリーンショット 2025-12-08 165727.png
「モデル コンテキスト プロトコル」を選択する。

スクリーンショット 2025-12-08 172349.png
サーバー名などの必要な項目を入力し、認証設定で「OAuth2.0」および「手動」を選択してください。

スクリーンショット 2025-12-08 173114.png
各入力値はOAuth認証するオブジェクトによって異なります。今回はEntraIDの場合をご紹介します。

スクリーンショット 2025-12-08 172855.png

スクリーンショット 2025-12-08 173015.png

名前 備考
クライアント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 アプリケーションによって変更する

上記を入力し、「作成」をクリックしてください。

スクリーンショット 2025-12-08 185306.png
リダイレクトURLが出てくるので、EntraIDのアプリに登録します。

スクリーンショット 2025-12-11 103328.png
「Authetication」→「編集」からリダイレクトURIを登録します。その後、画面をCopilot Studioに戻して「次へ」をクリックしてください。

スクリーンショット 2025-12-08 185356.png
「未接続」をクリックし、新しい接続を作成してください。ここでMicrosoftのサインイン画面に遷移します。

スクリーンショット 2025-12-08 185426.png
サインインが成功すると、緑のチェックマークがつきます。「追加と構成」をクリックすることでエージェントにツールが追加されます。

スクリーンショット 2025-12-08 190348.png

Teamsへエージェントを展開する

権限設定

エージェントを誰に使わせるかという権限設定を実施する必要があります。以下の2つに実施が必要です。

  • エージェント
  • カスタムコネクタ

エージェント

スクリーンショット 2025-12-08 190736.png
右上の「・・・」→「共有する」を選択してください。

スクリーンショット 2025-12-08 190843.png
必ず「クラシック共有を使用する」を選択してください。選択後、もう一度「共有する」から画面を開きます。

スクリーンショット 2025-12-08 191252.png

ユーザー/Entraグループを指定することができます。権限は「閲覧者」以上です。
「新しいユーザーに招待メールを送信する」箇所のチェックが外れていることを確認してください。チェックが付いているとメールが送信されます。
最後に、「共有」をクリックすることで権限付与ができます。

カスタムコネクタ

スクリーンショット 2025-12-08 191710.png

Copilot Studioの画面の左メニューバー「ツール」より、カスタムコネクタ一覧を表示します。該当のカスタムコネクタをクリックしてください。

スクリーンショット 2025-12-08 191838.png
カスタムコネクタの詳細画面に入ります。「←」の戻るボタンをクリックしてください。

スクリーンショット 2025-12-08 191930.png
カスタムコネクタ一覧画面が表示されるので、該当コネクタの「・・・」→「他のユーザーを招待します」をクリックしてください。

スクリーンショット 2025-12-08 192035.png
ユーザー/Entraグループを検索できます。権限は「表示 + 共有可能」です。
最後に「保存」をクリックしてください。

エージェントを展開

スクリーンショット 2025-12-08 193355.png

「チャネル」→「TeamsとMicrosoft 365 Copilot」→「チャネルを追加する」を選択してください。

スクリーンショット 2025-12-08 193934.png
「TeamsとMicrosoft 365 Copilot」からもう一度画面を開き、「可用性オプション」を選択してください。

スクリーンショット 2025-12-08 194103.png
「リンクのコピー」をクリックしてください。
コピーされたリンクを、エージェントを使わせたいユーザー、チームに展開してください。

Teamsでエージェントと会話

1対1 (DM)

リンクをクリックすると、Teamsで以下の画面がポップアップします。

スクリーンショット 2025-12-09 095018.png
「追加」を選択してください。

スクリーンショット 2025-12-09 095212.png
「開く」を選択してください。

スクリーンショット 2025-12-09 095307.png
エージェントとのDMでのチャット画面に遷移します。

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

スクリーンショット 2025-12-09 095438.png
「接続」を選択してください。

スクリーンショット 2025-12-09 095454.png
「・・・」よりアクセストークンを更新します。更新後、「送信する」を選択してください。

スクリーンショット 2025-12-09 131033.png
Teamsのチャットに戻り、「再試行」をクリックするとエージェントから回答を受け取ることができます。以降の会話では同じアクセストークンが使われるため、初回時/アクセストークン期限切れ時に「接続マネージャー」からの更新が必要になります。

グループチャット

エージェントに対して組織全体に閲覧権限が自動的に付与されます (手動での剥奪可能)

スクリーンショット 2025-12-09 164603.png
エージェントのページより、「チャネル」→「TeamsとMicrosoft 365 Copilot」→「詳細の編集」を選択してください。

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

スクリーンショット 2025-12-08 194103.png
前述と同様に「可用性オプション」→「リンクのコピー」をクリックしてください。

スクリーンショット 2025-12-09 165105.png
リンクを踏むと展開したいグループチャットや会議チャットが選択可能になります。

スクリーンショット 2025-12-09 165407.png
グループチャットでは、エージェントにメンションを送ることで回答してくれます。

グループ内にエージェントへの権限を保持していない方がいる場合、エージェントが答えてくれない場合があります。組織全体への権限設定を手動で無理やり剥奪した影響だと思います

まとめ

 本記事では、Copilot Studio を用いて OAuth必須のリモート MCP サーバー を Teamsのチャットボット として展開する手順を紹介しました。
 一方で、Teamsの使い勝手に難があり度々発生するアクセストークン更新のUX改善やときどき応答が返らない/反応しないなどの原因不明のバグも見られるため、改善のアップデートに期待しています。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?