ClaudeとTray.aiを連携する方法 — Agent GatewayでOAuth2かAPIトークンか
Tray.aiのAgent Gatewayは、ワークフローやコネクタの操作をMCPツールとしてClaudeに渡します。OAuth2とAPIトークンの違い、登録手順、つまずきを解説します。
Tray.aiのAgent Gatewayは、Trayで組んだワークフローや、Trayが持つコネクタの個別操作を、MCPサーバーのツールとして公開する仕組みです。Claudeからは、そのサーバーのURLをカスタムコネクタとして登録するだけで、社内の自動化をツールとして呼べます。
つまずきやすいのは、登録そのものより手前の準備です。Agent Gatewayは契約プランに含まれるとは限らず、使うユーザーは管理者が1人ずつ許可リストに入れる必要があります。この記事では、準備、認証方式の選び方、Claudeへの登録、接続できないときの切り分けを順に扱います。
Tray Agent GatewayはClaudeに何を渡すのか
Agent Gatewayは、AIアシスタントと業務システムの間に置く窓口です。ワークスペースごとにMCPサーバーを1台立て、そこに載せたツールだけをClaudeが見られます。ツールは2種類あります。
Agent Gatewayの2種類のツール
Workflow Tools
複数の手順を持つTrayのワークフローを、1つのツールとして見せます。たとえば「Slackにメッセージを送る」ツールが、宛先ユーザーの検索まで内部で済ませます。
Connector Tools
Trayの700以上のコネクタから、操作を1つずつ選んで公開します。Salesforceなら、SOQLクエリだけを公開して作成や削除は隠す、といった絞り方ができます。
Workflow Toolsを使う利点は、Trayのドキュメントによると、LLMのコンテキスト消費と誤動作の余地を減らせる点です。ユーザー検索とメッセージ送信を別ツールにすると、Claudeが複数回呼び出しを組み立てることになります。1つにまとめれば、その組み立てをワークフロー側が受け持ちます。
始める前に必要なもの
登録手順に入る前に、Tray側で次が済んでいる必要があります。
- 組織でAgent Gatewayが有効になっている。Trayの案内では、提供は一部のプランに限られ、有効化はカスタマーサクセス担当かアカウントチームへの連絡が入口です
- 組織管理者が、アカウント設定の「Tray AI Features and Capabilities」で、Tray AI Featuresのマスタースイッチと、MCP Serversの項目をオンにしている
- ワークスペース管理者が、MCPサーバーを有効にし、ツールを1つ以上追加している
- 使うユーザーが、同じ組織のTrayアカウントを持ち、MCPサーバーの「Access Management」タブに追加されている
最後の条件が見落とされがちです。ワークスペースのメンバーであるだけでは足りず、Access Managementに入れて初めてツールを実行できます。逆に、ワークスペースのメンバーである必要はありません。ツールを作る人と使う人を分けられます。
ツールの数は15〜20本までが目安
Trayは、1台のMCPサーバーに載せるツールを15〜20本以内に収めるよう勧めています。理由として、ツール選択の精度、応答の速さ、誤動作のリスクを挙げています。上限そのものはありません。
20本を超えるなら、用途別にサーバーを分けます。カスタマーサポート用、営業用、IT運用用のようにワークスペースを分ければ、アクセス制御もそのまま分けられます。Claudeは複数のMCPサーバーを同時に持てます。
認証は二層ある — 接続の認証とツールの認証
Agent Gatewayの認証は、2つのレイヤーに分かれていて、設定も別々です。
| レイヤー | 何を決めるか | 選択肢 |
|---|---|---|
| クライアント認証 | 何を決めるかClaudeがどうTrayのMCPサーバーに入るか | 選択肢OAuth2 / APIトークン |
| ツール認証 | 何を決めるかツールが外部システムをどの資格情報で操作するか | 選択肢サービスアカウント / ユーザー提供 |
サービスアカウントは、誰が呼んでも共有の資格情報で実行します。ユーザー提供は、実行時にその人が自分の資格情報で認証し、その人の権限で動きます。たとえばSalesforceの参照を「呼んだ本人が見られる範囲」に限りたいなら、ユーザー提供にします。
ここで制約が出ます。APIトークンで接続したクライアントは、ユーザー提供認証を使えません。トークン側のユーザーは個人の資格情報を持たないので、サービスアカウントのツールしか実行できないためです。個人ごとの権限でツールを動かしたいなら、OAuth2での接続が必須になります。
方式の比較
| リモートMCP(OAuth2) | ローカルMCP(APIトークン) | |
|---|---|---|
| 設定 | リモートMCP(OAuth2)クライアントからワンクリック | ローカルMCP(APIトークン)NPMユーティリティで手動設定 |
| 認証 | リモートMCP(OAuth2)ユーザーごとのOAuth2 | ローカルMCP(APIトークン)APIユーザーのトークン |
| トークン管理 | リモートMCP(OAuth2)自動 | ローカルMCP(APIトークン)作成とローテーションを手動 |
| 対応クライアント | リモートMCP(OAuth2)現状はClaude Desktop(拡大中) | ローカルMCP(APIトークン)MCP対応クライアント全般 |
| 向く用途 | リモートMCP(OAuth2)エンドユーザーが自分の権限で使う | ローカルMCP(APIトークン)自動化、CI/CD、サービス間連携 |
APIトークン方式は、Claude CodeやVS Code、Cursor、Windsurfでも使えます。一方でOAuth2方式の対応クライアントは、Trayの手順書ではClaude Desktopだけが挙がっています。
手順1: OAuth2でClaudeに登録する
エンドユーザーが自分の権限で使う場合の標準構成です。Trayが運用するサーバーにつなぐので、手元の設定ファイルは要りません。
Claude DesktopからTrayのMCPサーバーを登録する
- 1
サーバーURLを控える
Trayのワークスペース設定で、AGENT GATEWAYの下にあるMCP Serverを開きます。MCP configurationタブに、
https://{workspace-id}.mcp.tray.aiの形式でURLが自動生成されています。 - 2
カスタムコネクタの追加画面を開く
Trayの手順書では、Claude Desktopの入力欄の「+」から「Manage connectors」を開き、「+」から「Add custom connector」を選びます。
- 3
名前とURLを入れて接続する
サーバー名(例: Tray Agent Gateway Tool)とサーバーURLを入力し、「Connect」を押してOAuth2の認可画面に従います。
Claudeのヘルプセンターは、同じ操作を「Customize > Connectors」の「+ Add」から「Add custom connector」と案内しています。画面の文言は版によって違うので、見当たらなければこちらの経路で探してください。
Team・Enterpriseプランでは、カスタムコネクタを組織に追加できるのはOwnerかPrimary Owner(Enterpriseではライブラリ管理の権限を持つカスタムロールも可)に限られます。メンバーは追加済みのコネクタに自分でサインインします。この点はTrayの手順書には出てこないので、組織で使うときは先にClaude側の管理者と調整します。
claude.aiのWeb版で使えるか
Claudeのヘルプセンターによると、リモートMCPを使うカスタムコネクタは、Claude(Web)、Cowork、Claude Desktopで使えます。ただしTrayのドキュメントが動作を明記しているクライアントは、OAuth2ではClaude Desktopだけです。Web版でTrayのOAuth2が通るかどうかは、Trayの手順書に記載がありません。必要なら、Trayの担当者にクライアントの対応状況を問い合わせます。
手順2: APIトークンでローカル設定する
OAuth2が使えないクライアントや、自動化で使う場合の方式です。Node.jsと、ワークスペースID、APIトークンが要ります。
ワークスペースIDは、Trayのワークスペースを開いたときのURLに含まれるUUIDです。APIトークンは、組織管理者がアカウント設定の「Tokens」から「Create API user」で作ります。トークンは作成時にしか表示されません。作った直後に控えます。
設定は、Trayが配布するセットアップユーティリティに任せられます。対話形式なら次のとおりです。
npx @trayio/tray-mcpクライアント種別(claude、cursor、windsurf、vscode)、ワークスペースID、APIトークンを順に聞かれ、サーバー名は省略すると tray-workspace になります。スクリプトから使うなら、オプションで渡します。
npx @trayio/tray-mcp \
--workspace-id <UUID> \
--api-token <TOKEN> \
--client claude \
--name "production-mcp"CLIモードは、同名の設定が既にあっても確認なしで上書きします。対話モードは上書きの確認を挟みます。
Claude Desktopの場合、書き込み先は設定ファイル claude_desktop_config.json です。macOSなら ~/Library/Application Support/Claude/ の下、Windowsなら %APPDATA%\Claude\ の下にあります。実行後はClaude Desktopを完全に終了して開き直します。
本番と開発を分けて持つ
サーバー名を変えて2回実行すれば、1つのクライアントに複数のワークスペースを登録できます。
npx @trayio/tray-mcp --workspace-id <prod-uuid> \
--api-token <prod-token> --name "tray-production"
npx @trayio/tray-mcp --workspace-id <dev-uuid> \
--api-token <dev-token> --name "tray-development"名前は用途が分かる形にします。Trayの手順書は、tray-customer-support や tray-readonly のような例を挙げています。トークンは環境ごとに分け、設定ファイルをバージョン管理に入れないでください。
接続を確かめる
再起動後、Claude Desktopでは設定の「Developer」から、登録したMCPサーバーが見えるかを確かめます。そのうえで、会話で次のように聞きます。
Trayのツールで何ができますか。使えるツールを説明つきで挙げてください。Workflow ToolsとConnector Toolsに載せたものが並べば成功です。続けて、書き込みのない軽いツールを1つ指定して呼び出し、実行まで通ることを見ます。
つまずきの切り分け
Claudeにツールが出ないとき
- QTrayのAccess Managementに自分が入っていますか?答えが入っていない答えがはい
管理者に追加を依頼します。403 Forbiddenの典型的な原因です。
- Qツールが有効(緑の表示)で、説明文も入っていますか?答えが無効か説明文がない答えがはい
ワークスペース設定でツールを有効にし、説明文を確認します。
- Q接続の後にTray側でツールを追加・変更していませんか?答えが変更した答えがはい
コネクタをいったん外してつなぎ直し、Claude Desktopも再起動します。
それでも出ないとき
サーバーURLのワークスペースID、APIトークンの有効期限、MCPサーバーが有効になっているかを見ます。
ツールは見えるのに実行が失敗するときは、Tray側を見ます。
- Workflow Toolsなら、ワークフローが公開済みで有効か
- Connector Toolsなら、コネクタの認証が有効か
- ワークフローやコネクタのログにエラーが出ていないか
- Trayの画面から手動実行して通るか
APIトークン方式で401が出るならトークンの失効、403ならAccess Managementへの追加漏れが疑わしい、とTrayは説明しています。接続拒否やタイムアウトでは、ワークスペースIDの誤りを先に見ます。
落とし穴
Tray側の変更はClaudeに自動では反映されない
Claude Desktopは、リモートMCPサーバーのツール一覧をキャッシュします。Trayでツールを足したり変えたりしたら、コネクタをいったん削除してつなぎ直し、Claude Desktopを再起動します。「追加したのに出ない」の多くはここが原因です。
単体SaaSのコネクタと何が違うのか
NotionやSlackのような単体SaaSのコネクタは、1つのサービスに1本のMCPサーバーが対応します。Agent Gatewayは別の形です。サーバーの先にいるのは1つのサービスではなく、Trayという統合基盤で、その先に700以上のコネクタとワークフローがぶら下がります。
iPaaS型コネクタの特徴
ツールを自分で設計する
どの操作を公開するか、複数手順を1ツールにまとめるかは、Tray側の管理者が決めます。Claudeに見せたくない操作は、そもそも載せません。
権限の制御がサーバー側にある
アクセスできるユーザーは許可リストで管理し、ツールごとにサービスアカウントとユーザー提供を選べます。Trayは、クライアント側でツールの可否を管理する直結型のMCPでは、この粒度の制御ができないと説明しています。
監視がまとまっている
MCPサーバーのMonitorタブで、実行回数、成功・失敗、ツール別・ユーザー別の内訳を見られます。誰がどの認証で実行したかは、ログに残ります。
同じ業務自動化基盤の系統では、WorkatoのMCPを同じ要領でつなぐ手順をWorkato MCPをClaudeに接続する手順にまとめています。Workatoにもトークン方式とユーザー単位の認証の選択があり、Trayと見比べると、どこで権限を縛るかの設計が違います。
運用で気をつけること
ワークスペースのロールは実装の閲覧権限でもある
Access Managementの一覧では、ユーザーにOwner、Admin、Contributor、Viewerのバッジが付きます。これらのロールを持つ人は、ツールを実行できるだけでなく、背後のワークフローを閲覧、編集できます。バッジがない人は、MCPの実行権限だけを持ちます。
ツールの中身を見せずに使わせたいなら、その人はAccess Managementにだけ追加し、ワークスペースのメンバーにはしません。
書き込み系ツールの扱い
カスタムコネクタは、Anthropicが検証していないサービスにClaudeをつなぐ機能で、つないだ先でClaudeが読み取りも書き込みも行えます。Claudeのヘルプセンターは、ツールの承認リクエストを読み、信頼できるツールだけに「Allow always」を使うよう案内しています。不要なツールは、会話ごとに無効にもできます。
Trayの側でも、Connector Toolsは本当に必要な操作だけを公開するのが基本です。更新や削除を含む操作を載せるなら、先に読み取り専用のサーバーで挙動を見ると安全です。
リサーチ機能との組み合わせ
Claudeのリサーチは、コネクタのツールを追加の承認なしに呼ぶことがあります。Trayのツールを載せたまま使うなら、書き込みを伴うものは無効にしておきます。
参考: 判断の目安
| 状況 | 向く構成 |
|---|---|
| 担当者が自分のSalesforce権限で参照したい | 向く構成OAuth2 + ユーザー提供認証 |
| バッチやCIから共有の自動化を呼びたい | 向く構成APIトークン + サービスアカウント |
| 本番と検証を同じクライアントで切り替えたい | 向く構成APIトークンでサーバーを2つ登録 |
| Claude CodeからTrayを使いたい | 向く構成APIトークン方式(OAuth2の対応クライアントはDesktopのみ) |
リモートMCPとローカルMCPの一般的な違いはローカルMCPとリモートMCPの違いに、リモートMCPの認証の流れはリモートMCPのOAuth認証にあります。自社のサーバーをClaudeに接続する側の話はCoworkカスタムコネクタ自作ガイドが扱っています。