ClaudeのコネクタとChatGPTのアプリの違い — 同じMCPサーバーは両方で動くか
自作のリモートMCPサーバーはClaudeにもChatGPTにもつなげます。違いが出るのは登録画面・認証方式・接続元・UI・管理者の権限で、特にAPIキー認証は片方でしか通りません。
同じリモートMCPサーバーは、ClaudeのカスタムコネクタにもChatGPT側の接続にも登録できます。サーバーのコードを2系統に分ける必要はありません。ただし、つなぐ入口の画面、使える認証方式、接続してくる送信元、UIの出し方、組織での追加権限は製品ごとに違います。この記事は、その製品面の違いを並べます。MCPサーバー側の拡張機能の対応差はMCPサーバーはClaude・ChatGPT・Cursorで何が変わるかにあります。
先に押さえておきたいのは呼び名です。Claude側は「カスタムコネクタ」、ChatGPT側は「Add custom MCP server」から作る接続です。ChatGPTの開発者向けドキュメントでは、かつてのApps SDKのURLを開くと「Plugins」というドキュメント群に着地します。手順書では「Create as a plugin」という操作名になっており、本記事ではChatGPT側を「プラグイン」と書きます。
同じMCPサーバーは両方で動くのか
動きます。ただし条件が3つあります。
- サーバーがインターネットから届く公開HTTPSで待ち受けている
- 認証がOAuthか、認証なしのどちらかである
- UIを付けるなら、MCP Appsの標準に沿っている
APIキーやBearerトークンを固定で送る認証だけは、片方でしか成立しません。後述します。
入口の考え方
Claude
Customize > Connectorsから追加します。Team・Enterpriseでは組織の設定から管理者が追加し、各メンバーが自分のアカウントで接続します。
ChatGPT
chatgpt.com/pluginsの「Add custom MCP server」から追加し、「Create as a plugin」で個人用プラグインにします。
登録の手順はどう違うか
Claudeは「追加」と「個人の接続」が分かれる
ClaudeのカスタムコネクタはClaude、Cowork、Claude Desktopで使えます。対象プランはFree、Pro、Max、Team、Enterpriseで、Freeは1つまでです。
追加の入口はプランで変わります。
| プラン | 追加する場所 | 追加できる人 |
|---|---|---|
| Pro・Max | 追加する場所Customize > Connectors > + Add > Add custom connector | 追加できる人本人 |
| Team | 追加する場所Organization settings > Connectors > Add > Custom > Web | 追加できる人OwnerとPrimary Owner |
| Enterprise | 追加する場所同上 | 追加できる人Owner、Primary Owner、Libraries管理権限を含むカスタムロールの人 |
Team・Enterpriseでは、追加されたコネクタを各メンバーがCustomize > Connectorsで「Connect」して認証します。これによって、Claudeが触れるのは個々のユーザーが元々持っているアクセス範囲に限られます。ただしAPIキーのような共有の資格情報を使うコネクタは、使う全員がそのキーの権限で動きます。
追加後に設定を直すには、いったん削除して入れ直します。会話ごとの有効化は、チャット欄の「+」から「Connectors」を開いてトグルで切り替えます。
ChatGPTは個人用プラグインとして作る
ChatGPT側の流れは次のとおりです。
ChatGPTでMCPサーバーを接続する流れ
- 1
プラグイン画面を開く
chatgpt.com/pluginsで「+」を押し、「Add custom MCP server」を選びます。
- 2
名前とURLを入れる
サーバーURLには
/mcpのパスまで含めます。認証方式もここで選びます。 - 3
警告を承認して作成する
リスクの警告を確認し、「Create as a plugin」を選びます。
- 4
インストールして呼び出す
個人用プラグインの一覧からインストールし、ChatGPTのWorkタブで
@からプラグインを指定します。
「Add custom MCP server」の手順には、アカウントとワークスペースのポリシーが適用されると書かれています。ChatGPT側の開発者向けページには、Claudeのようなプラン別の可否表はありません。使えるかどうかは、自分のアカウントや組織の設定画面で確かめる形になります。
認証はどこで分かれるか
ここが実務で最も差が出ます。
| 認証の種類 | Claude | ChatGPT |
|---|---|---|
| 認証なし | Claude「No sign in」を選べる | ChatGPT「No authentication」を選べる |
| OAuth | Claude「Sign in now」「Sign in when needed」から接続時期を選ぶ | ChatGPTOAuth 2.1。MCPの認可仕様に沿う実装が前提 |
| 固定のAPIキー・Bearerトークン | ClaudeRequest headersに入れて毎回送れる | ChatGPT対応しない |
| マシン間のOAuth(client credentialsなど) | Claude記載なし | ChatGPT対応しない |
Claude: OAuthのクライアントの名乗り方を選べる
Claudeの追加画面では、サーバーが要求する認証をClaudeが検出して提示します。違っていれば手で直せます。OAuthクライアントの扱いは3択です。
- Use Claude's published identity(推奨)
- Register automatically
- Use your own OAuth client
APIキーやBearerトークンで認証するサーバーは、Request headersに固定の値を入れます。保存は暗号化され、Team・Enterpriseではそのコネクタを使う全員が同じ資格情報で接続します。キーの権限は、メンバーに許したい範囲に絞っておく必要があります。
ChatGPT: 固定キーは持ち込めない
ChatGPT側の認証に関するドキュメントは、認証付きサーバーにOAuth 2.1の実装を求めます。クライアント登録の方式は、Client ID Metadata Documents(CIMD)、動的クライアント登録(DCR)、事前に決めたOAuthクライアントのどれかです。CIMDが使える場合は優先され、プラグインを作る側がDCRを選ぶこともできます。PKCE(S256)も使います。
一方で、client credentials、サービスアカウント、JWT bearerといったマシン間のOAuthは非対応です。独自のAPIキーやお客様持ちのmTLS証明書も提示できません。つまり、Claudeでは「Request headersにキーを入れる」で済んだ社内サーバーを、そのままChatGPTにつなぐことはできません。ChatGPTで使うには、OAuthの層を足すか、認証なしで公開できる範囲に絞る必要があります。
サーバー側から見れば、ChatGPTからの接続を確かめる手段も用意されています。OpenAI管理のクライアント証明書を提示するため、mTLSで確認できます。公開されているegressのIPレンジでの許可リストも使えます。
接続はどこから飛んでくるか
どちらも、利用者の端末ではなくクラウド側からサーバーに来ます。
Claudeの場合、接続はAnthropicのクラウドインフラから行われます。claude.ai、Claude Desktop、Cowork、モバイルアプリのどれでも同じです。Desktopなど手元で動くクライアントでも、リモートコネクタはアカウント経由で仲介されます。社内ネットワークやVPNの内側にあるサーバーは、AnthropicのIPアドレス帯を許可しないとつながりません。
ChatGPT側は、公開HTTPSで待ち受けるサーバー(streamable HTTP、通常は /mcp)か、Secure MCP Tunnel経由の接続です。非公開のサーバーをインターネットに晒さずにつなぐ手段として、トンネルが用意されています。
要点は次のとおりです。
- 社内サーバーをClaudeにつなぐ: Anthropic側のIP帯を許可する
- 社内サーバーをChatGPTにつなぐ: 公開するか、Secure MCP Tunnelを使う
手元で動くローカルのMCPサーバーについては、Claude Desktopの claude_desktop_config.json で設定するものが別の仕組みで、これは手元のネットワークを使います。ただしCoworkやclaude.aiでは使えません。
UIの出し方はどう違うか
どちらもMCP Appsの標準に乗るため、UIの作り方の入口は共通です。
ChatGPT側は、ツールにUIリソースを紐づける _meta.ui.resourceUri を使います。UIはiframeで描画され、ホストとは postMessage 上のJSON-RPCでやり取りします。過去のApps SDKで使われた _meta["openai/outputTemplate"] や window.openai の一部は互換用の別名として残っていますが、新しく作るUIには標準側のフィールドを使うよう案内されています。チェックアウトやファイル選択のようなChatGPT独自の拡張は window.openai に置かれており、ここは他のホストに持ち出せません。
Claude側では、これを「インタラクティブコネクタ」と呼びます。会話内に出る形は2つです。
- インライン: 要約や確認、手早い操作を載せた小さなカード
- フルスクリーン: データの可視化や文書編集のような複雑な操作。会話の入力欄は残る
UI上の操作も、コネクタに許した権限と同じ範囲で動きます。Team・Enterpriseのオーナーは、インタラクティブUIを描画するツール呼び出しを組織設定で止められます。
どちらでも守りたいのは、UIがなくてもツールが使えることです。UIを描画しないホストでは、結果がテキストや構造化データとして返るだけになります。対応状況の一覧はMCP Appsの対応クライアント一覧で確かめられます。仕組みの概要はMCP Appsとはにまとめています。
公開と配布は別の仕組み
自分用に登録するだけなら、ここまでで足ります。他の人に配るときは、Claude側とChatGPT側で承認の流れが別です。
ChatGPT側の公開は、プラグインとして提出してレビューを通す形です。ChatGPTとCodexは1つのディレクトリを共有し、一度公開すると両方の製品から同じ掲載が見つかります。公開後はOpenAIがホスト中のMCPサーバーを毎日スキャンし、条件を満たす更新は新しいパッケージなしで反映されます。新しいツールは承認されるまで使えません。
すでにClaude向けのプラグインやコネクタを持っている場合も、掲載や承認は引き継がれません。OpenAI側は別途、提出が必要です。公開HTTPSのMCPエンドポイントがあれば、リモートMCPの提出という経路になります。
ローカルMCPサーバーを含むものは、デスクトップ専用プラグインの扱いになります。
両方に通すときの確認手順
登録の前に、サーバー単体の動作をMCP Inspectorで確かめておくと、どちら側の問題かを切り分けやすくなります。ChatGPT側のドキュメントも、この手順を最初に置いています。
npx @modelcontextprotocol/inspector@latestInspectorでは、ツール一覧、各ツールの入力検証、認証エラー、結果の読みやすさを見ます。通ったあと、次の順で両製品に登録します。
- 認証なしの読み取りツールだけでClaudeとChatGPTの両方に登録し、つながることを確かめる
- OAuthを有効にして、ログインから同意までの画面を両方で通す
- 書き込みツールを足し、承認画面の挙動を見る
- UIを付けた場合は、UIなしでもツールの結果が使えることを確かめる
登録に失敗したときは、先にサーバーの公開URL、認証の検出結果、ネットワークの許可の順に見ます。ClaudeはAnthropic側のIPからの到達性、ChatGPTは公開HTTPSかトンネルの状態が主な確認点です。
どちらを選ぶかは、認証と置き場所で決まる
製品の優劣ではなく、サーバーの事情で決まります。
| サーバーの事情 | 通りやすい先 |
|---|---|
| APIキー1本で認証している | 通りやすい先Claude(Request headers) |
| OAuth 2.1を実装済み | 通りやすい先両方 |
| 認証なしの公開データ | 通りやすい先両方 |
| 社内ネットワークの内側 | 通りやすい先両方に手当てが要る(IP許可かトンネル) |
| UIは標準のMCP Appsだけで作った | 通りやすい先両方 |
window.openai の独自拡張に依存 | 通りやすい先ChatGPT |
編集の視点から言えば、両対応のコストはUIよりも認証にかかります。UIは標準に沿えば移植できますが、認証は片方の仕組みに寄せて作ると、もう片方では最初から通りません。新しくサーバーを作るなら、固定キーに頼らずOAuthから設計しておくほうが、後から製品を増やしたときの手戻りが小さくなります。
まとめ
リモートMCPサーバーは1つで足ります。製品ごとに変わるのは、登録の入口、認証の選択肢、接続元のネットワーク、UIの拡張範囲、組織での権限です。特に固定のAPIキー認証はClaudeのRequest headersでは使え、ChatGPTでは使えません。両方に載せる予定があるなら、認証をOAuthに寄せることが最初の判断になります。カスタムコネクタの自作手順はCoworkカスタムコネクタ自作ガイドに、ClaudeとChatGPTの全般的な違いはClaudeとChatGPTの比較にあります。