# OAuth 方式の MCP エンドポイント

OAuth 方式の MCP エンドポイントは、各利用者が本人として接続する種類の [MCP エンドポイント](/ja/products/ai-studio/agent-channels/mcp-endpoints)です。1つのトークンと1人の実行者を共有する代わりに、利用者がそれぞれ自分の MCP クライアントから Treasure AI Studio にログインし、アクセスを許可します。以降、クライアントは本人がすでに使える作業フォルダで、本人の認証情報・権限・クレジットを使ってアクションやチャットを実行します。シークレットを共有する必要はなく、誰かの権限がほかの人に貸し出されることもありません。

このページでは、OAuth エンドポイントの作成、共通 MCP URL、利用者が接続するときに目にする画面、アクセスの止め方を扱います。ツールとその結果はどちらの接続方式でも同じで、[MCP クライアントを接続する](/ja/products/ai-studio/agent-channels/mcp-clients)で説明しています。

アカウントの多くのメンバーが普段使っている MCP クライアントから Studio を使いたい場合で、それぞれが Studio で届く範囲にだけ届けばよいときに作成してください。呼び出す側が1つのエージェントやサービスで、1つの共有作業フォルダを1人の指定した実行者として扱わせたい場合は、代わりに[静的トークン方式のエンドポイント](/ja/products/ai-studio/agent-channels/mcp-endpoints)を使ってください。

## 静的トークン方式との違い

| 観点  | 静的トークン方式  | OAuth 方式  |
|  --- | --- | --- |
| **実行される権限** | エンドポイントの実行者 | アクセスを許可した本人 |
| **届く作業フォルダ** | 作成時に選んだ共有作業フォルダ1つ | 本人の私的な作業フォルダと、本人が Studio に追加済みで利用権限のある共有作業フォルダ |
| **チャットが変更できるもの** | フォルダ内のものは何も変更できません。フォルダを読み取り、書き込めるのはチャットとともに破棄される一時作業領域だけです | 本人が Studio で開始したチャットと同じように、本人の権限の範囲で本人の作業フォルダを変更できます |
| **クライアントに渡すもの** | 接続 URL と、固定の `Authorization` ヘッダーに入れる `tasgwt_` トークン | 接続 URL か共通 MCP URL だけ。クライアントが利用者のログインを処理し、自分で認証情報を取得します |
| **作成できる人** | アカウントの作成ポリシーで許可された人のうち、そのフォルダを管理している人 | 作成ポリシーにかかわらず、アカウント管理者だけ |
| **管理する人** | 実行者とフォルダの管理者。アカウント管理者は無効化と有効化だけができます | アカウント管理者 |
| **アクセスの止め方** | トークンの失効、エンドポイントの無効化、または削除 | エンドポイントの無効化または削除。Studio には、利用者ごと・クライアントごとに失効させる手段はありません。[アクセスを止める](#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%82%92%E6%AD%A2%E3%82%81%E3%82%8B)を参照してください |


どちらの方式でも、6つのツール、ツールの結果、ブラウザからのリクエストの拒否は共通です。OAuth 方式ではこれに加えて、`401` でログインが求められることと、`403` で `insufficient_scope` が返る場合があります。

## 前提条件

- **アカウント管理者**であること。それ以外の人には、ウィザードの **OAuth（接続した利用者本人）** は選択できず、*「OAuth エンドポイントを作成できるのはアカウント管理者のみです。」* と表示されます。
- エージェントチャネルの作成と管理は **Web 版または Desktop 版**の Treasure AI Studio で行います。Mobile アプリからは設定できません。
- 接続する利用者が、リモート MCP サーバー向けの OAuth ログインに対応した MCP クライアントを使っていること。具体的には、クライアントがサーバーに自身を登録でき（動的クライアント登録）、S256 による PKCE を使い、アクセスしたいリソースとして MCP URL を指定し、ログインのためにブラウザを開いて、結果をブラウザ経由のコールバックで受け取れる必要があります。クライアントを事前に登録しておくことはできず、認可コードを利用者が手でクライアントに貼り戻す方式のクライアントには対応していません。


共有作業フォルダも実行者も選ばないので、作成にフォルダの管理権限は必要ありません。

## OAuth エンドポイントを作成する

1. **設定 → エージェントチャネル**を開き、**MCP エンドポイント** セクションの **新規 MCP エンドポイント** を選択します。
2. **接続方式** で **OAuth（接続した利用者本人）** を選びます。接続方式を切り替えても、入力した名前とコメントは保持されます。
3. **エンドポイント名** に名前を入力します。たとえば *「MCP クライアント用 Studio」* のような形です。255文字まで。
4. 必要に応じて、同僚向けの**コメント**を追加します。1,000文字まで。
5. **共通 MCP URL を利用する** で、このエンドポイントにアカウントの共通 MCP URL を割り当てるかどうかを決めます（[共通 MCP URL](#%E5%85%B1%E9%80%9A-mcp-url)を参照）。アカウント内でほかに共通 URL を持つエンドポイントがない場合は、最初からチェックが入っています。
6. **エンドポイントを作成** を選択します。


フォルダの選択も、実行者の引き受けも、保管するトークンもありません。完了画面 **OAuth エンドポイントを作成しました** には、クライアントに設定する URL が表示されます。**接続 URL** と、このエンドポイントが共通 URL を持つ場合は **共通 MCP URL** もあわせて表示されます。どちらもエンドポイントの詳細ページで再確認できます。

## 共通 MCP URL

OAuth エンドポイントには、静的トークン方式と同じく、それぞれ専用の **接続 URL**（`https://<アカウントの Agent Gateway>/v1/mcp/<エンドポイント ID>`）があります。これに加えて、アカウントごとに1つの OAuth エンドポイントが **共通 MCP URL** を持てます。共通 MCP URL は、同じサイトのすべてのアカウントで共通の短い URL です。

```text
https://<Agent Gateway>/v1/mcp
```

共通 URL はアカウントもエンドポイントも指しておらず、どこにつながるかはログインした人で決まります。利用者が共通 URL からログインした場合、Studio で所属しているアカウントのうち、今のログイン方法で利用でき、共通 MCP URL を割り当てた OAuth エンドポイントがあるアカウントが候補になります。候補が複数あれば同意画面で選び、1つなら自動で選ばれます。接続は、そのアカウントで共通 URL を持つエンドポイントにつながります。エンドポイント専用の接続 URL の場合、候補はそのエンドポイントのアカウントだけです。エンドポイント専用の接続 URL は、共通 URL と並行して引き続き使えます。

- **共通 URL を持てるのはアカウントで1つだけです。** ほかのエンドポイントが持っている場合、ウィザードと **編集** ダイアログに *「共通 URL は「（エンドポイント名）」に割り当てられています。」* と表示され、**割り当て済みのエンドポイントを管理** からそのエンドポイントを開けます。先にそちらで割り当てを外してください。
- **無効にしても割り当ては残ります。** 共通 URL を持つエンドポイントを無効にすると、共通 URL 経由の接続は止まりますが、共通 URL がほかのエンドポイントに空くことはありません。
- **設定を変更すると、共通 URL 経由の既存の接続が切れます。** エンドポイントでこの設定をオンまたはオフにすると、アカウントの利用者が共通 URL 経由で取得した認証情報がすべて失効し、それらのクライアントはもう一度認可する必要があります。**編集** ダイアログでは、保存前にこのことへの確認が求められます。エンドポイント専用の接続 URL 経由で取得した認証情報には影響しません。
- **続きの指示は、チャットを開始したエンドポイントに残ります。** 共通 URL が別のエンドポイントに移ると、以前に共通 URL を持っていたエンドポイントで開始したチャットは、共通 URL 経由では続けられなくなります。そのエンドポイントが有効な間は、その接続 URL に対してクライアントを認可すれば、接続 URL 経由で続けられます。


### OAuth エンドポイントをいくつ作るか

OAuth エンドポイントはどれも同じツールを提供し、接続は接続した本人の権限で動くため、エンドポイントを増やしても誰かのアクセス範囲が変わることはありません。接続できる人を絞ることもできず、アカウントのメンバーであれば、どの OAuth エンドポイントに対してもクライアントを認可できます。多くのアカウントでは、共通 MCP URL を割り当てた OAuth エンドポイントが1つあれば足ります。無効化や削除を別々に行いたい場合、たとえば展開の一部だけを止めたい場合にだけ、追加で作成してください。

## 利用者が接続するときの流れ

利用者は、自分の MCP クライアントに URL をリモートサーバーとして追加します。ヘッダーやトークンは入力しません。クライアントが初めて接続すると、ブラウザで Treasure AI Studio が開きます。

1. **ログインします。** まだログインしていない場合は、いつもの方法で Studio にログインします。ログインの間も認可の要求は保持されるので、ログイン後はそのまま要求の画面に戻ります。
2. **「MCP アクセスを許可」画面で要求の内容を確認します。** 画面には、結果を送り返す先のホストが太字で表示され、クライアントが名乗っている名前も表示されます。この名前はクライアントの開発者が申告したもので検証されていないため、画面ではアクセスを許可する前にコールバック先のホストを確認するよう求めています。要求された MCP リソースと、要求された権限も表示されます。
3. **アカウントを選びます。** 候補になるのは、Studio で所属しているアカウントのうち、今のログイン方法で利用でき、要求された URL に対応する OAuth エンドポイントがあるアカウントで、それぞれにエンドポイントの名前が添えられます。候補が1つだけなら、最初から選択されています。エンドポイント専用の接続 URL の場合、候補はそのエンドポイントのアカウントだけです。無効になっているエンドポイントは選べません。別の ID プロバイダーでのログインが必要なアカウントは選択肢に含まれず、一覧の下にアカウント名と **ログイン** ボタンが表示されます。そのボタンから該当する ID プロバイダーでログインすると、要求の画面に戻れます。
4. **アクセスを許可** を選択します。拒否する場合は **拒否** を選択します。ブラウザがクライアントに戻り、クライアントはツールを呼び出せるようになります。


接続は、その利用者・そのアカウント・ログインに使った URL に結びつきます。2つのアカウントに所属していて両方を使いたい場合は2回認可します。クライアントの接続先を共通 URL とエンドポイント専用の URL の間で切り替える場合も、同じく認可し直します。

クライアントは認証情報を自分で更新していくため、利用者が使うたびにログインする必要はありません。もう一度認可が必要になるのは、アクセスが止められたときと、クライアントが付与されていない権限を要求したときです。

### 2つの権限

| 権限  | 許可される操作  | ツール  |
|  --- | --- | --- |
| `mcp` | 作業フォルダ・アクション一覧・実行結果の参照 | `list_work_folders`、`list_actions`、`get_chat_result` |
| `mcp:write` | アクションの実行、チャットの開始・継続 | `run_action`、`start_chat`、`continue_chat` |


クライアントは必要な権限を要求し、同意画面にはその一覧が表示されます。付与されていない権限が必要なツールをクライアントが呼ぶと、その呼び出しは `403` と `insufficient_scope` で拒否されます。クライアントは利用者に追加の許可を求めることができます。

### 接続で届く作業フォルダ

`list_work_folders` は、そのアカウントにおける利用者本人の作業フォルダを返します。本人の私的な作業フォルダと、本人が Studio に追加済みで利用権限のある共有作業フォルダです。Studio に追加していない共有作業フォルダは含まれません。権限はアクセスを許可したときだけでなく、ツールを使うたびに確認されます。そのため、Studio でフォルダへのアクセスを失えば、そのフォルダは接続からも外れます。

### チャットは本人の通常の Studio チャット

OAuth エンドポイントから開始したチャットは、接続した本人の通常のチャットで、ツールで指定した作業フォルダで動きます。SDK App や静的トークン方式のエンドポイントが作る、制限付きでチャットごとに破棄されるチャットではありません。

- **ファイルを変更できます。** エージェントは本人の私的な作業フォルダに書き込み、共有作業フォルダにも本人のワークモードが許す範囲で書き込みます。本人が Studio で開始したチャットとまったく同じです。書き込んだ内容は残ります。
- **本人が持つものをすべて使います。** 本人のほかの作業フォルダ、保存されたメモリや設定、プラグイン、コネクション、認証情報を、本人のチャットと同じように使えます。
- **本人のチャット一覧に表示されます。** チャットが動いた作業フォルダの名前が表示され、**MCP** のラベルは付きません。アイコンは吹き出しが2つ重なったもので、ツールチップは *「MCP 経由で作成」* です。本人はこのチャットを開いて、Studio でそのまま続けられます。


クライアントにアクセスを許可することは、そのクライアントに自分として Studio へ入力させることと同じだと考えてください。`continue_chat` と `get_chat_result` が届くのは、同じエンドポイントから開始した本人自身のチャットだけです。ほかの種類との比較は [エージェントチャネルのチャットが到達できる範囲](/ja/products/ai-studio/agent-channels/channel-chats)を参照してください。

## OAuth エンドポイントを管理する

OAuth エンドポイントを変更できるのは、アカウント管理者だけです。編集、無効化と有効化、削除が該当します。ほかのメンバーにも同じ詳細ページが表示されますが、**編集**、**有効 / 無効** のトグル、**エンドポイントを削除** はありません。

詳細ページの **概要** には、**接続方式** として **OAuth（接続した利用者本人）**、**作業フォルダ** として **アクセス可能な作業フォルダ**、**実行者** として **接続した利用者**、そして **コメント** が表示されます。その下に、接続に許可される操作と、使えるツールの固定の一覧が続きます。**トークン** セクションはなく、引き受けたり降りたりする実行者のロールもありません。

OAuth エンドポイントのステータスは **有効** か **無効** のどちらかです。実行者がいないため、**停止中（実行者が必要）** になることはありません。

### 無効化と有効化

**有効 / 無効** のトグルをオフにすると、何も失効させずに、エンドポイントへのすべての接続が直ちに止まります。接続中のクライアントは、エンドポイントが再び有効になるまで `403` と `mcp_disabled` で拒否されます。有効に戻すと、手元の認証情報が期限切れや失効になっていない限り、クライアントはそのまま使い続けられます。エンドポイントが無効の間は、同意画面でそのエンドポイントを選ぶことはできません。

### 編集

**編集** では、名前、コメント、エンドポイントが共通 MCP URL を持つかどうかを変更できます。共通 URL の設定を変更すると、アカウントの共通 URL 経由の接続が切れるため、確認が求められます。[共通 MCP URL](#%E5%85%B1%E9%80%9A-mcp-url)を参照してください。

### エンドポイントを削除する

**エンドポイントを削除** は、エンドポイントを恒久的に削除します。同じ操作で、そのエンドポイントの URL 向けに発行されたすべての認証情報が使えなくなります。このエンドポイントが共通 URL を持っていた場合は、共通 URL 経由で発行されたものも含みます。エンドポイントが作ったチャットは、各利用者のチャット一覧に残ります。削除は取り消せません。

## アクセスを止める

| 操作  | 効果  |
|  --- | --- |
| **エンドポイントを無効にする** | 再び有効にするまで、エンドポイントへのすべての接続が拒否されます。何も失効しません |
| **エンドポイントで共通 MCP URL の設定をオンまたはオフにする** | アカウントの利用者が共通 URL 経由で行ったすべての接続が失効し、それらのクライアントはもう一度認可する必要があります。エンドポイント専用の URL 経由の接続には影響しません |
| **エンドポイントを削除する** | エンドポイントへのすべての接続が失効します。元に戻せません |
| **利用者をアカウントから外す** | そのアカウントでの本人の接続が使えなくなります |


リクエストのたびにエンドポイントと利用者の認証情報が確認されるため、どの操作も次のツール呼び出しから反映されます。

特定の利用者の接続だけを止める手段はありません
Treasure AI Studio には、利用者が接続したクライアントの一覧はなく、利用者本人もアカウント管理者も、アプリから個々の接続を失効させることはできません。特定の利用者だけを止めるには、その人をアカウントから外すか、該当するフォルダへのアクセスを外してください。全員をまとめて止めるには、エンドポイントを無効にするか削除します。利用者が自分のクライアントの接続を切りたい場合は、そのクライアントからサーバーを削除します。これでクライアントは認証情報を使わなくなりますが、Studio 側で認証情報が失効するわけではありません。

## トラブルシューティング

| 症状  | 原因と対処  |
|  --- | --- |
| ウィザードで **OAuth（接続した利用者本人）** を選べない | 自分がアカウント管理者ではありません。アカウント管理者にエンドポイントの作成を依頼してください |
| **共通 MCP URL を利用する** にチェックを入れられない | アカウント内の別のエンドポイントが共通 URL を持っています。**割り当て済みのエンドポイントを管理** からそのエンドポイントを開き、先に割り当てを外してください。割り当ての確認中も、チェックボックスは操作できません。確認に失敗した場合は **再試行** を選択してください |
| 同意画面に *「要求された MCP リソースに対応する OAuth エンドポイントを持つ、利用可能なアカウントがありません。」* と表示される | 利用者のどのアカウントも、その URL に対して選択肢に出せません。原因は、本人のアカウントで共通 URL が割り当てられていない、エンドポイントのアカウントのメンバーではない、エンドポイントが削除された、またはエンドポイントのあるアカウントが別の ID プロバイダーを必要としている（その ID プロバイダーでログインする）のいずれかです。アカウント管理者に相談してください |
| 同意画面に *「このエンドポイントは停止中、または利用できない状態のため、アクセスを許可できません。」* と表示される | エンドポイントが無効です。アカウント管理者が有効にしてください |
| 同意画面で、別の ID プロバイダーでのログインを求められる | そのアカウントでは別の ID プロバイダーが必要です。**ログイン** を選択し、その ID プロバイダーでログインしてください |
| 同意画面に *「このクライアントは認可コードを手動で受け取る方式を要求しています。」* と表示される | そのクライアントは、Studio が必要とするブラウザ経由のコールバックで結果を受け取れません。別のクライアントを使ってください |
| クライアントが `403` と `insufficient_scope` で拒否される | そのツールに必要な権限がクライアントに付与されていません。クライアントをもう一度認可し、その権限を許可してください |
| クライアントが `403` と `mcp_disabled` で拒否される | エンドポイントが無効です |
| クライアントが `401` で拒否される、または利用者にもう一度ログインを求める | 接続が失効しています。共通 URL の設定が変更された場合は、もう一度認可してください。エンドポイントが削除された場合や、利用者がアカウントから外れた場合は、そのエンドポイント経由のアクセスは元に戻せません |


## 次のステップ

- [MCP クライアントを接続する](/ja/products/ai-studio/agent-channels/mcp-clients) — クライアントの設定と、使えるツールと結果
- [静的トークン方式の MCP エンドポイント](/ja/products/ai-studio/agent-channels/mcp-endpoints) — 1つの共有作業フォルダと1人の実行者で動く静的トークン方式
- [エージェントチャネルのチャットが到達できる範囲](/ja/products/ai-studio/agent-channels/channel-chats) — チャットができること・できないこと
- [アクション](/ja/products/ai-studio/skills/actions) — クライアントが実行するアクションを作成する