記事一覧
MCPホスティング

MCPホスティングのURLを各クライアントにつなぐ設定チートシート【2026年10月版】Claude・Claude Code・Cursor・VS Code・ChatGPT・Codex・Gemini CLI・API

ホスティングしたMCPサーバーのURLとキーを、Claude Code・Claudeのカスタムコネクタ・Cursor・VS Code・ChatGPT開発者モード・Codex・Gemini CLI・Claude API・OpenAI Responses APIに登録する設定を一覧化。url/httpUrl/server_urlの違い、環境変数の書き方、APIキーとOAuthの対応状況、リクエストの発信元、よくある接続エラー13件の対処までまとめました。

最終更新:2026年10月15日 / 対象:MCP仕様 2026-07-28、および2026年10月時点の各クライアント公式ドキュメント(Claude Code、Claude、Cursor、VS Code、ChatGPT、Codex、Gemini CLI、Claude API、OpenAI Responses API)

結論(30秒で読める要約)

ホスティングしたMCPサーバーをクライアントにつなぐのに必要なのは、どのクライアントでも同じ3つです。エンドポイントURL(多くは /mcp で終わる)、トランスポート(Streamable HTTP)、認証情報(Bearerヘッダーか OAuth)。ただし書き方がクライアントごとに違い、接続トラブルの大半はこの違いから起きます。

  • URLのキー名が違う:Claude Code・Cursor・VS Code・Codexは url、Gemini CLIは httpUrl(url は旧SSE扱い)、OpenAI Responses APIは server_url。
  • 環境変数の書き方が違う:Claude Codeは ${VAR}、Cursorは ${env:VAR}、VS Codeは ${input:id}、Codexは値ではなく変数名を書く(bearer_token_env_var)。
  • リクエストの発信元が違う:IDEやCLIは自分のPCから、Claude(Web・デスクトップ・モバイルのコネクタ)、ChatGPT、各社APIは事業者のクラウドからアクセスする。後者は公開HTTPSのURLが必須。
  • 固定のAPIキーはどこでも使えるわけではない:Claudeのカスタムコネクタのリクエストヘッダーは一部組織向けのベータ、ChatGPT開発者モードはOAuthか認証なし、両社のAPIはトークン用のフィールドで渡す。

9クライアント分の正確な書式は2章の表にまとめています。

目次

  1. 「リモートMCPサーバーにつなぐ」とは
  2. チートシート:9クライアント早見表
  3. クライアント別の設定(コピペ用)
  4. APIキーかOAuthか:クライアント別の対応
  5. 自分のPCか事業者クラウドか:リクエストの発信元
  6. クライアント設定の前にエンドポイントを1回だけテストする
  7. チェックリスト
  8. トラブル対処(症状→原因→対処)
  9. NodeFlareならこう解決できる
  10. よくある質問

1. 「リモートMCPサーバーにつなぐ」とは

リモートMCPサーバーにつなぐとは、MCPクライアントにローカルのコマンドではなくHTTPSのエンドポイントを登録し、JSON-RPCのメッセージをStreamable HTTPで送らせることです。MCP仕様(2026-07-28)はStreamable HTTPを「各メッセージを単一のMCPエンドポイントへのHTTP POSTとして送る」方式と定めているので、クライアント側に必要なのはURLと、サーバーが求める認証情報だけです。

これはMCPホスティングの最後の工程です。どこで動かすかは「MCPホスティング2026:6つの方法を比較」、GitHubのstdioサーバーをURL化する手順は「stdio MCPサーバーをリモートで動かす方法」で解説しました。この記事は https://…/mcp とキーが手元にある状態から始めて、「各クライアントに何を書けばいいか」だけに答えます。

2. チートシート:9クライアント早見表

各社の公式ドキュメント(2026年10月時点、参考資料を参照)に基づきます。

クライアント 設定の場所 URLの指定 固定ヘッダー(APIキー) OAuth リクエストの発信元
Claude Code claude mcp add → ~/.claude.json またはプロジェクトの .mcp.json "type": "http" + url --header / headers 対応(/mcp または claude mcp login) 自分のPC
Claude(Web・デスクトップ・モバイル) カスタマイズ → コネクタ → カスタムコネクタを追加 MCPサーバーURL欄 リクエストヘッダー(ベータ・一部組織・最大4つ) 対応 Anthropicのクラウド
Cursor .cursor/mcp.json または ~/.cursor/mcp.json url headers 対応(固定クライアント用の auth も可) 自分のPC
VS Code(Copilot) .vscode/mcp.json またはユーザープロファイル(最上位は servers) "type": "http" + url headers 対応(oauth.clientId) 自分のPC
ChatGPT 開発者モード 設定 → アプリ → 詳細設定 → 開発者モード → アプリを作成 サーバーURL欄 記載なし OAuth、認証なし、混合 OpenAIのクラウド
Codex CLI config.toml の [mcp_servers.<name>] url bearer_token_env_var、http_headers、env_http_headers 対応(codex mcp login) 自分のPC
Gemini CLI ~/.gemini/settings.json または .gemini/settings.json httpUrl(url はSSE) headers / --header 対応(401を検知して自動検出) 自分のPC
Claude API(MCPコネクタ) リクエストの mcp_servers "type": "url" + url(https:// 必須) authorization_token 取得したトークンを渡す Anthropicのクラウド
OpenAI Responses API tools に "type": "mcp" server_url authorization(毎リクエスト送信) 取得したトークンを渡す OpenAIのクラウド

キーを設定ファイルに直書きしないための書き方は次のとおりです。

クライアント 書き方 例
Claude Code url と headers で ${VAR} や ${VAR:-default} "Authorization": "Bearer ${MCP_API_KEY}"
Cursor url と headers で ${env:NAME}(リモートでは envFile 不可) "Authorization": "Bearer ${env:MCP_API_KEY}"
VS Code promptString 型の入力(password: true)を ${input:id} で参照 "Authorization": "Bearer ${input:mcp-key}"
Codex 環境変数の「名前」を書く bearer_token_env_var = "MCP_API_KEY"
Claudeのカスタムコネクタ Claude側で保存され、保存後は再表示されない リクエストヘッダーに Bearer <キー> と入力

3. クライアント別の設定(コピペ用)

例ではエンドポイントを https://your-server.example.com/mcp、キーを入れる環境変数を MCP_API_KEY としています。どちらも自分の値に置き換えてください。

Claude Code

Claude Codeはコマンド1行でリモートサーバーを追加できます。--transport http でStreamable HTTPを選び、--header(短縮形 -H)で認証情報を渡します。

claude mcp add --transport http my-server https://your-server.example.com/mcp \
  --header "Authorization: Bearer $MCP_API_KEY"

この書き方だと $MCP_API_KEY はシェルが展開するので、キーそのものが ~/.claude.json に保存されます。チームで共有する .mcp.json にキーを含めたくない場合は、次のように自分で書き、実行時にClaude Codeに展開させます。

{
  "mcpServers": {
    "my-server": {
      "type": "http",
      "url": "https://your-server.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MCP_API_KEY}"
      },
      "timeout": 600000
    }
  }
}

押さえておくべき点:

  • "type": "http" は必須です。url だけで type がないとstdioサーバーとして読まれ、設定エラーになると公式ドキュメントに明記されています。streamable-http も別名として使えます。
  • スコープ:--scope local(既定)と --scope user は ~/.claude.json、--scope project は .mcp.json に書かれます。
  • ANTHROPIC_AUTH_TOKEN などの認証用変数は url や headers の中では空に展開されます。サーバーには Bearer だけが届いて401になるので、自分で名前を付けた別の変数にコピーして使います。
  • OAuthのサーバーは、Claude Code内で /mcp、またはシェルで claude mcp login <name> を実行します。
  • 起動のタイムアウトは環境変数 MCP_TIMEOUT(ミリ秒)、ツール実行のタイムアウトは上の例の timeout(ミリ秒)で設定します。
  • ツールの結果が1万トークンを超えると警告が出て、既定では2万5,000トークンで打ち切られます(MAX_MCP_OUTPUT_TOKENS で変更可)。大きな結果を返すツールの対策は「MCPのトークン消費を解説」を参照してください。
  • SSEは非推奨です。v2.1.265以降は、サーバーがHTTPを受け付けない場合に --transport http が自動でSSEに切り替わります。

Claude(Web・デスクトップ・モバイルのカスタムコネクタ)

Claudeのアプリからはカスタムコネクタとしてリモートサーバーにつなぎます。Free・Pro・Max・Team・Enterpriseの各プランで使え、Freeは1つまで追加できます。

Free・Pro・Maxの場合は、カスタマイズ → コネクタ → カスタムコネクタを追加 の順に進み、MCPサーバーのURLを入れて認証方法を選び、追加します。Team・Enterpriseではオーナーが 組織設定 → コネクタ → 追加 → カスタム → Web から登録し、メンバーはそれぞれ「接続」を押します。

認証の選択肢 動作
今すぐサインイン 利用前に各ユーザーがサーバーのOAuthフローを完了する
必要なときにサインイン まず認証なしで接続し、サーバーが求めたときにサインインを促す
サインインなし ユーザーのログインなし。APIキー方式のサーバーはリクエストヘッダーにキーを入れる

OAuthクライアントは、Claudeの公開ID(Anthropicが公開するClient ID Metadata Document。推奨)、動的クライアント登録(DCR)による自動登録、事前登録した自前のクライアントIDから選べます。

APIキーを使う場合はリクエストヘッダー機能を使いますが、制約があります。

  • この機能はベータで、公式には「一部の組織のみ」とされています。ダイアログにリクエストヘッダーの項目が見当たらなければ、まだ使えません。
  • 入力した値はそのまま送られます。Bearerキーなら Bearer your-key とスペース込みで入力します。
  • ヘッダーは最大4つまで。独自のヘッダー名はAnthropicの審査が必要で、OAuth接続では Authorization をヘッダーとして設定できません。
  • 認証設定は追加後に変更できません。キーを入れ替えるときは、コネクタを削除して追加し直します。
  • /sse で終わるURLを入れると旧SSEトランスポートが選ばれます。

リクエストヘッダーのベータがなく、サーバーがAPIキーしか受け付けない場合でも、Claude Desktopなら claude_desktop_config.json でmcp-remoteを使ってつなげます。PC上で小さなstdioプロセスを動かし、リモートURLへ中継する方法です。

{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://your-server.example.com/mcp",
        "--header", "Authorization:${AUTH_HEADER}"
      ],
      "env": { "AUTH_HEADER": "Bearer YOUR_KEY" }
    }
  }
}

Authorization: の後にスペースがないのは意図的です。mcp-remoteのREADMEによると、CursorとWindows版のClaude Desktopは args 内のスペースをエスケープしないため、スペースは環境変数側に入れます。READMEはmcp-remoteを実験的なツールとしているので、サーバーがOAuthに対応しているならネイティブのコネクタを優先しましょう。

Cursor

Cursorは .cursor/mcp.json(プロジェクト単位)か ~/.cursor/mcp.json(全体)からリモートサーバーを読み込み、stdio・SSE・Streamable HTTPに対応しています。

{
  "mcpServers": {
    "my-server": {
      "url": "https://your-server.example.com/mcp",
      "headers": { "Authorization": "Bearer ${env:MCP_API_KEY}" }
    }
  }
}

リモートサーバーでは envFile が使えないため、MCP_API_KEY はシェルのプロファイルかシステムの環境変数に設定し、Cursorを再起動します。固定の認証情報が必要なOAuthプロバイダーには、CLIENT_ID(必須)、CLIENT_SECRET(任意)、scopes(任意。省略時は自動検出)を持つ auth オブジェクトを追加し、Cursorのリダイレクト先をプロバイダーに登録します。Webと Cursor Agents 用は https://www.cursor.com/agents/mcp/oauth/callback、デスクトップアプリ用は http://localhost:8787/callback です。

VS Code(GitHub Copilot)

VS Codeは .vscode/mcp.json またはユーザープロファイルで、最上位に mcpServers ではなく servers を使います。"type": "http" にすると、まずStreamable HTTPを試し、使えなければSSEに切り替えます。

{
  "inputs": [
    {
      "type": "promptString",
      "id": "mcp-key",
      "description": "API key for my-server",
      "password": true
    }
  ],
  "servers": {
    "my-server": {
      "type": "http",
      "url": "https://your-server.example.com/mcp",
      "headers": { "Authorization": "Bearer ${input:mcp-key}" }
    }
  }
}

サーバーの初回起動時に入力を求められます。OAuthを使うなら "oauth": { "clientId": "..." } を追加すると、VS Codeがブラウザでのフローを処理します。注意点として、${input:...} のような対話入力が必要なサーバーはCopilotのハーネスセッションには引き継がれません。

ChatGPT(開発者モード)

ChatGPTは開発者モードで独自のMCPサーバーにつなぎます。OpenAIのドキュメントでは、Web版のPro・Plus・Business・Enterprise・Educationアカウントが対象です。

  1. 設定 → アプリ → 詳細設定 → 開発者モード をオンにする。
  2. 「アプリを作成」からサーバーURLを入力し、認証方式をOAuth・認証なし・混合から選ぶ。
  3. 会話中に「+」メニューから開発者モードを選ぶ。

対応プロトコルはSSEとストリーミングHTTPと記載されています。固定のAPIキーをヘッダーで渡す欄は記載がないため、ChatGPTから使うならOAuth(または意図して公開する読み取り専用サーバー)を前提にしましょう。

Codex CLI

CodexはStreamable HTTPのサーバーを config.toml に書きます。必須は url だけです。

[mcp_servers.my-server]
url = "https://your-server.example.com/mcp"
bearer_token_env_var = "MCP_API_KEY"   # キーではなく変数の「名前」
startup_timeout_sec = 20                # 既定は10
tool_timeout_sec = 120                  # 既定は60

# 他のヘッダーが必要な場合:
# http_headers = { "X-Team" = "growth" }
# env_http_headers = { "X-Api-Key" = "OTHER_KEY_VAR" }

OAuthのサーバーは codex mcp login my-server でブラウザが開きます。ホスティング先がスケールtoゼロで、初回接続に10秒以上かかる場合は startup_timeout_sec を延ばします。

Gemini CLI

Gemini CLIでStreamable HTTPを使うには httpUrl を指定します。url はSSEのエンドポイント用です。CLIで追加すれば正しいキーで書かれます。

gemini mcp add --transport http \
  --header "Authorization: Bearer $MCP_API_KEY" \
  my-server https://your-server.example.com/mcp

settings.json には次のように書かれます。

{
  "mcpServers": {
    "my-server": {
      "httpUrl": "https://your-server.example.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" },
      "timeout": 600000
    }
  }
}

既定のスコープは project(.gemini/settings.json)で、--scope user を付けると ~/.gemini/settings.json に書かれます。リクエストのタイムアウトは既定で60万ミリ秒(10分)です。OAuthのサーバーは設定を省略でき、CLIが401を検知してエンドポイントを自動検出し、フローを実行します。この認証にはブラウザが必要です。

自作エージェント:Claude APIとOpenAI Responses API

どちらのAPIも、コード側でMCPクライアントを動かさずに、API側からリモートMCPサーバーを呼び出せます。

Claude API(MCPコネクタ):

import os
import anthropic

client = anthropic.Anthropic()
response = client.beta.messages.create(
    model="claude-opus-5-5",
    max_tokens=1000,
    messages=[{"role": "user", "content": "What tools do you have?"}],
    mcp_servers=[{
        "type": "url",
        "url": "https://your-server.example.com/mcp",
        "name": "my-server",
        "authorization_token": os.environ["MCP_TOKEN"],
    }],
    tools=[{"type": "mcp_toolset", "mcp_server_name": "my-server"}],
    betas=["mcp-client-2025-11-20"],
)

URLは https:// で始まる必要があり、サーバーごとに mcp_toolset をちょうど1つ指定します。対応しているのはツール呼び出しだけで、リソースやプロンプトは対象外です。新しいベータヘッダー mcp-client-2026-09-15 ではツール一覧の固定(pinning)も使えます。

OpenAI Responses API:

import os
from openai import OpenAI

client = OpenAI()
response = client.responses.create(
    model="YOUR_MODEL",
    input="What tools do you have?",
    tools=[{
        "type": "mcp",
        "server_label": "my_server",
        "server_url": "https://your-server.example.com/mcp",
        "authorization": os.environ["MCP_TOKEN"],
        "require_approval": "never",
        "allowed_tools": ["search_docs"],
    }],
)

authorization はAPI側に保存されないので、毎回送ります。既定ではツール実行前に承認が必要で、allowed_tools で取り込むツールを絞れます。どちらのAPIもトークン欄はOAuthのアクセストークンとして説明されているため、固定のBearerキーを使うサーバーでは、本番前に自分のサーバーで動作を確かめてください。完全に自作のエージェントなら、公式SDKのStreamable HTTPクライアントで任意のヘッダーを付けられます。TypeScriptの例は「MCPホスティング2026」に載せています。

4. APIキーかOAuthか:クライアント別の対応

サーバーが提供する認証方式で、使えるクライアントが決まります。開発ツールにはAPIキーが手早く、チャットアプリまで届かせるにはOAuthが必要です。

サーバーが受け付ける認証 そのまま使えるクライアント 回避策が必要なクライアント
BearerのAPIキーのみ Claude Code、Cursor、VS Code、Codex、Gemini CLI Claudeのコネクタ(リクエストヘッダーのベータか、デスクトップでmcp-remote)、ChatGPT(ヘッダー欄の記載なし)
自動検出つきのOAuth 9クライアントすべて なし
両方 9クライアントすべて(各自が対応する方式を使う) なし

1つのサーバーをどこからでも使いたいなら、OAuthを用意し、APIキーはスクリプトやIDE用に残すのが現実的です。

5. 自分のPCか事業者クラウドか:リクエストの発信元

localhost、VPN内のアドレス、IP許可リストが通るかどうかは、クライアントがどこからアクセスするかで決まります。「Cursorでは動くのにClaudeやChatGPTでは動かない」という相談の多くはこれが原因です。

発信元 クライアント サーバー側への影響
自分のPC Claude Code、Cursor、VS Code、Codex、Gemini CLI、mcp-remote localhost やVPN内のURLでも動く。IP許可リストには自分のIPを入れる
Anthropicのクラウド Claudeのカスタムコネクタ、Claude APIのMCPコネクタ 公開HTTPSが必須。Anthropicは「AnthropicのIPレンジから公開インターネット経由で到達できること」を求めている
OpenAIのクラウド ChatGPT開発者モード、Responses API OpenAIから到達できる必要あり。非公開サーバー向けに server_url の代わりの tunnel_id(Secure MCP Tunnel)が用意されている

Anthropicも、社内ネットワーク内のサーバー向けにMCPトンネルのドキュメントを案内しています。

6. クライアント設定の前にエンドポイントを1回だけテストする

9つのクライアントを設定する前に、URLとキーが正しいかを1回のリクエストで確かめます。クライアントのエラー表示はあいまいですが、HTTPステータスコードははっきりしています。

curl -i -X POST https://your-server.example.com/mcp \
  -H "Authorization: Bearer $MCP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
応答 意味
200でJSON-RPCの結果が返る URLとキーは正常。残る問題はクライアント側の設定
400でJSON-RPCのエラー本文が返る 認証は通過し、サーバーも応答している。旧世代のプロトコルで、先に initialize が必要な可能性が高い
401 / 403 キーがない、形式が違う(Bearer がない)、または権限がない
404 パスの誤り(/mcp ではなく / を指しているなど)
タイムアウト・接続拒否 公開されていない、またはサーバーが起動中

プロトコルまで含めて確認するなら、「stdio MCPサーバーをリモートで動かす方法」で紹介したMCP Inspectorを使います。

7. チェックリスト

  • [ ] エンドポイントが公開HTTPSで、サーバーが実際に待ち受けるパス(多くは /mcp)になっている
  • [ ] curl 1回で401・404・タイムアウト以外が返る
  • [ ] Claude CodeとVS Codeの設定に "type": "http" がある
  • [ ] Gemini CLIは url ではなく httpUrl を使っている
  • [ ] Codexの bearer_token_env_var にはキーではなく変数名が入っている
  • [ ] キーは環境変数か入力プロンプトから渡し、コミットするファイルに書いていない
  • [ ] サーバーが求める場合、ヘッダーの値に Bearer が含まれている
  • [ ] ClaudeやChatGPTには、それぞれが対応する認証方式(OAuthかリクエストヘッダー)を用意した
  • [ ] クラウド側から来るクライアントのため、IP許可リストに事業者のレンジを入れた
  • [ ] 起動タイムアウトがホスティング先のコールドスタートより長い(Codexは既定10秒)

8. トラブル対処(症状→原因→対処)

症状 原因 対処
Claude CodeでURLの設定が設定エラーになる type のない url はstdioとして読まれる "type": "http" を追加
変数は設定済みなのにClaude Codeで401 ANTHROPIC_AUTH_TOKEN などはヘッダー内で空に展開される 自分で名付けた変数にコピーして使う
Gemini CLIで接続はするがツールが出ない url を使ったためSSEとして扱われている httpUrl を使うか gemini mcp add --transport http で追加
Claudeのコネクタで正しいキーなのに401 値に Bearer を付けずに入力した Bearer your-key と正確に入力
Claudeのコネクタでキーの変更場所がない 認証設定は追加後に変更できない コネクタを削除して追加し直す
Cursorでは動くがClaudeやChatGPTから届かない URLがlocalhost・社内・IP制限つき 公開URLにする、事業者のIPレンジを許可する、またはトンネルを使う
ChatGPTにAPIキーを入れる欄がない 開発者モードの認証はOAuth・認証なし・混合のみ サーバーにOAuthを追加
Cursorが空のトークンを送る ${env:...} の変数がCursorから見えない。リモートでは envFile 不可 シェルのプロファイルかシステム環境変数に設定し、Cursorを再起動
Codexの初回で「startup timed out」 既定10秒がコールドスタートより短い startup_timeout_sec を延ばす
CodexがAuthorizationヘッダーを送らない bearer_token_env_var にキーそのものを書いた 変数名を書く
Windowsのmcp-remoteでヘッダーが無視・分割される args 内のスペースがエスケープされない Authorization:${AUTH_HEADER} とし、Bearer … は env に入れる
VS CodeのサーバーがCopilotのハーネスセッションに出ない ${input:...} が必要なサーバーは引き継がれない そのセッション用に対話不要の認証情報を使う
Claude Codeで大きなツール結果が切れる 既定で2万5,000トークンが上限 MAX_MCP_OUTPUT_TOKENS を上げるか、結果を小さくする

NodeFlareならこう解決できる

NodeFlareは、GitHub上のMCPサーバー(stdio専用のものも含む)を、認証つきのHTTPSエンドポイントとしてデプロイするMCPホスティングサービスです。この記事で挙げたクライアント側の課題に、次のように対応します。

この記事の課題 NodeFlareでの対応
どのクライアントにも安定した公開URLが1つ必要 サーバーごとに https://<your-server>.nodeflare.tech/mcp を発行。Pro以上はCNAMEでカスタムドメインを使え、TLSは自動発行
SSEを使うクライアントや設定が残っている(Geminiの url、/sse のURL、古いブリッジ) 同じサーバーでStreamable HTTPと旧HTTP+SSE(2024-11-05)の両方に対応
IDEやCLIはBearerのAPIキーで使いたい mcp_* 形式のAPIキーを Authorization: Bearer <キー> で送るだけ
ChatGPTやClaudeのコネクタはOAuthが前提 OAuthのアクセストークンに対応し、RFC 8414とRFC 9728に沿った自動検出が可能
初回接続での起動タイムアウト(Codexの10秒、MCP_TIMEOUT) スケールtoゼロで停止したサーバーをスナップショットから1秒未満で復元。Pro以上のAlways-Onなら常に1台を待機させられる
「Cursorでは動くがClaudeでは動かない。どのリクエストが失敗した?」 リクエストごとのログに user_agent、caller_kind(api_key・oauth・anonymous)、http_status、outcome、duration_ms を記録し、クライアントIPでも検索可能
IP許可リストがクラウド側のクライアントを止めてしまう 送信元IPの許可リスト(IPv4・IPv6のCIDR)をプロキシで適用でき、許可するレンジを自分で正確に決められる

料金は、Freeプランが0円でMCPサーバー1つ・月30 GB時間のコンピュート、Proが月2,980円でサーバー数無制限・300 GB時間込みです。コンピュートはサーバーが動いている間だけ課金されます。

最小の始め方:

  1. nodeflare.techにサインインし、MCPサーバーのGitHubリポジトリを選ぶ。
  2. 環境変数を入れてデプロイし、/mcp のURLとAPIキーを控える。
  3. 3章のクライアント別の設定に貼り付ける。

1サーバーまで無料で試せます → nodeflare.tech

よくある質問

Claude CodeにリモートMCPサーバーを追加するには?

claude mcp add --transport http <名前> <URL> --header "Authorization: Bearer <キー>" を実行します。.mcp.json に書く場合は "type": "http"、url、必要に応じて headers を指定します。type がないとstdioサーバーとして扱われます。OAuthのサーバーはClaude Code内で /mcp を使います。

CursorにリモートMCPサーバーを追加するには?

.cursor/mcp.json か ~/.cursor/mcp.json の mcpServers に、url と必要なら headers を書きます。キーは ${env:NAME} で参照します。リモートサーバーでは envFile が使えないため、変数はシステムかシェルの環境に設定します。

VS CodeにMCPサーバーのURLを追加するには?

.vscode/mcp.json を作り、最上位の servers に "type": "http" と url を持つ設定を書きます。キーは inputs に promptString 型(password: true)で定義し、${input:id} で参照します。VS CodeはまずStreamable HTTPを試し、だめならSSEに切り替えます。

ClaudeのカスタムコネクタでAPIキーは使える?

組織でリクエストヘッダーのベータが有効な場合に限り使えます。Authorization: Bearer <キー> などのヘッダーを最大4つ保存できます。使えない場合は、サーバーにOAuthを追加するか、Claude Desktopでmcp-remoteに --header を付けてローカルで中継します。

ChatGPTから独自のMCPサーバーにつなげる?

つなげます。Web版のPro・Plus・Business・Enterprise・Educationアカウントで開発者モードを使います。設定 → アプリ → 詳細設定で有効にし、「アプリを作成」からサーバーURLを入力します。認証はOAuth・認証なし・混合で、固定のAPIキーヘッダーは記載がありません。

Gemini CLIのurlとhttpUrlの違いは?

Gemini CLIでは、httpUrl がStreamable HTTPのエンドポイント、url がSSEのエンドポイントです。Streamable HTTPのサーバーを url で指定すると、ツールが読み込まれない原因になります。gemini mcp add --transport http を使えば httpUrl で書かれます。

CodexにリモートMCPサーバーを追加するには?

config.toml に [mcp_servers.<名前>] と url を書き、bearer_token_env_var にキーを入れた環境変数の名前を指定します。OAuthのサーバーは codex mcp login <名前> を使い、初回接続が遅い場合は startup_timeout_sec(既定10秒)を延ばします。

localhostのMCPサーバーにClaudeからつながらないのはなぜ?

Claudeのカスタムコネクタは、ChatGPTや両社のAPIと同じく、あなたのPCではなく事業者のクラウドから接続するためです。そこから localhost や社内のURLには届きません。公開HTTPSのURLにデプロイするか、事業者のトンネル機能を使うか、Claude CodeやCursorのようなローカルのクライアントを使います。

2026年でもmcp-remoteは必要?

ほとんど不要です。Claude Code・Cursor・VS Code・Codex・Gemini CLI・Claudeのコネクタは、いずれもリモートサーバーに直接つなげます。ローカルのコマンドしか起動できないクライアントを使う場合や、Claude Desktopで固定ヘッダーが必要なのに組織でリクエストヘッダーのベータが使えない場合には、今も役立ちます。

Claude APIやOpenAI APIからリモートMCPサーバーを呼ぶには?

Claude APIでは、mcp_servers(type url、https:// のURL、名前、任意の authorization_token)を渡し、mcp_toolset のツールと mcp-client-2025-11-20 のベータを指定します。OpenAI Responses APIでは、type mcp のツールに server_label・server_url・authorization を指定し、毎回送ります。

まとめ

MCPサーバーをホスティングした後の接続は設定の問題で、失敗の多くは5つの小さな違いから起きます。URLのキー名(url・httpUrl・server_url)、環境変数の書き方、"type": "http" の要否、固定APIキーに対応しているか、リクエストが自分のPCから来るか事業者のクラウドから来るか、です。まず curl でURLを1回確かめ、3章の該当する設定をコピーしてください。IDEとチャットアプリの両方から使いたいなら、APIキーとOAuthの両方を用意しておくのが近道です。

参考資料

NodeFlare

MCP専用ホスティングサービス

GitHubにあるMCPを簡単デプロイ・簡単運用で最適化
無料で始める

他の記事

MCPトークン2026年10月18日

MCPのプロンプトキャッシュ:ツール一覧でキャッシュが外れる原因とMCPトークン費用の抑え方【2026年版・計算例つき】

MCPのツール定義とプロンプトキャッシュの関係を解説。Claude 5.5の書き込み・読み取り単価、計算例(安定なら−89%、毎回外れると+25%)、ツール順・動的な説明文・list_changedなどキャッシュが外れる原因、ツール検索との両立、5分と1時間TTLの選び方、安定性チェックのスクリプト、ヒット率の測り方まで。

MCPセキュリティ2026年10月18日

MCPのSSRF対策:狙われる3つの経路、2026年のCVE3件、Egress許可リストでの封じ方【MCPセキュリティ】

MCPのSSRF対策を解説。OAuthディスカバリ・URLを受け取るツール・CIMD取得という3つの経路、2026年のCVE3件、仕様のブロック一覧から漏れる範囲、DNS固定まで行う動作確認済みPythonコード、observeからenforceへ進めるEgress許可リストの導入手順まで。

MCPホスティング2026年10月18日

MCPサーバーのゼロダウンタイムデプロイ:ツール変更とロールバックでクライアントを壊さない方法【MCP Hosting・2026-07-28仕様】

MCPサーバーの新バージョンを、接続中のクライアントを壊さずに出す方法。処理中の呼び出しが消える理由、Claude Code・Claude APIの再接続とツール一覧の扱い、ツール変更の安全/破壊的の判定表、expand–contractとttlMs、SIGTERMのドレイン、Cloud Run・Kubernetes・Workersのロールバック、CI用の差分チェックまで解説。

MCPホスティングのURLを各クライアントにつなぐ設定チートシート【2026年10月版】Claude・Claude Code・Cursor・VS Code・ChatGPT・Codex・Gemini CLI・API | Blog | Nodeflare