Claude Media
ClaudeとTray.aiを連携する方法 — Agent GatewayでOAuth2かAPIトークンか

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. 1

    サーバーURLを控える

    Trayのワークスペース設定で、AGENT GATEWAYの下にあるMCP Serverを開きます。MCP configurationタブに、https://{workspace-id}.mcp.tray.ai の形式でURLが自動生成されています。

  2. 2

    カスタムコネクタの追加画面を開く

    Trayの手順書では、Claude Desktopの入力欄の「+」から「Manage connectors」を開き、「+」から「Add custom connector」を選びます。

  3. 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にツールが出ないとき

  1. QTrayのAccess Managementに自分が入っていますか?
    答えが入っていない

    管理者に追加を依頼します。403 Forbiddenの典型的な原因です。

    答えがはい
  2. Qツールが有効(緑の表示)で、説明文も入っていますか?
    答えが無効か説明文がない

    ワークスペース設定でツールを有効にし、説明文を確認します。

    答えがはい
  3. 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カスタムコネクタ自作ガイドが扱っています。

この記事を共有:XはてブLinkedIn