メインコンテンツへスキップ
MCP(Model Context Protocol) は、LLM がカスタムツールやサービスにアクセスできるようにするプロトコルです。 MCP クライアント(この場合は Cascade)は、提供されるツールにアクセスするために MCP サーバーへリクエストを送信できます。 Cascade は MCP とネイティブに統合されており、Cascade で使用する MCP サーバーを自由に持ち込んで利用できます。 詳しくは 公式 MCP ドキュメント を参照してください。
Enterprise ユーザーは、設定から手動で有効化する必要があります

新しい MCP プラグインの追加

新しい MCP プラグインは、Settings > Tools > Windsurf Settings > Add Server セクションから追加できます。 目的の MCP プラグインが見つからない場合は、View Raw Config ボタンをクリックし、生の mcp_config.json を編集して手動で追加できます。 MCP サーバーを選択したら、+ Add Server をクリックするだけで、そのサーバーとツールを Cascade で利用できるように公開できます。
Cascade は MCP サーバーに対して、stdioStreamable HTTPSSE の 3 種類のトランスポートをサポートしています。 また、Cascade は各トランスポートタイプごとに OAuth にも対応しています。 http サーバーの場合、URL はエンドポイントを指し、https://<your-server-url>/mcp の形式になります。
新しい MCP プラグインを追加した後は、必ず更新ボタンを押してください。

mcp_config.json

~/.codeium/mcp_config.json ファイルは、Cascade が接続可能なサーバー一覧を記述する JSON ファイルです。 以下は GitHub 用に単一のサーバーをセットアップするサンプル設定です:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
使用したいサーバーで必要となる引数と環境変数を必ず指定してください。 サンプルサーバーは 公式 MCP サーバー参照リポジトリ または OpenTools を参照してください。

リモート HTTP MCP

リモート HTTP MCP では、設定が少し異なり、serverUrl または url フィールドを指定する必要がある点に注意してください。 以下は HTTP サーバー用の設定例です。
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

設定の補間

~/.codeium/mcp_config.json ファイルでは、commandargsenvserverUrlurlheaders の各フィールドに含まれる環境変数の補間を行います。 以下は設定例で、headers 内で AUTH_TOKEN 環境変数を使用しています。
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

管理者向け設定 (Teams & Enterprises)

チーム管理者は、チーム向けの MCP アクセスをオン/オフしたり、チームで利用を許可する MCP サーバーをホワイトリストに登録したりできます。

MCP Team Settings

チーム向けの MCP 設定を行えます。
上記のリンクは、あなたにチームの管理者権限がある場合にのみアクセスできます。
デフォルトでは、チーム内のユーザーは自分で MCP サーバーを設定できます。ただし、一度でも MCP サーバーをホワイトリストに登録すると、ホワイトリストに含まれないすべてのサーバーは、そのチームでは利用できなくなります

サーバーのマッチング動作

MCP サーバーを許可リストに追加すると、システムは次のルールで正規表現によるパターンマッチングを行います:
  • 文字列全体の一致: すべてのパターンは自動的にアンカー(^(?:pattern)$ でラップ)され、部分一致を防ぎます
  • Command フィールド: 完全一致、または指定した正規表現パターンに従って一致する必要があります
  • Arguments 配列: 各引数は対応するパターンに対して個別にマッチします
  • 配列の長さ: 引数の数は許可リストとユーザー設定で完全に一致している必要があります
  • 特殊文字: $.[]() などの文字は正規表現で特別な意味を持つため、リテラルとして一致させたい場合は \ でエスケープしてください

構成オプション

管理者ホワイトリスト構成:
  • Server ID: github-mcp-server
  • Server Config (JSON): (空のまま)
{}
対応するユーザー構成(mcp_config.json):
{
  "mcpServers": {
    "github-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
これにより、サーバー ID がプラグインストアのエントリと一致する限り、ユーザーは任意の有効な構成で GitHub MCP サーバーをインストールできます。
管理者ホワイトリスト構成:
  • Server ID: github-mcp-server
  • Server Config (JSON):
{
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "ghcr.io/github/github-mcp-server"
  ],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": ""
  }
}
対応するユーザー構成(mcp_config.json):
{
  "mcpServers": {
    "github-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
ユーザーはこの構成を厳密に使用する必要があります。commandargs のいかなる差異もブロックされます。env セクションの値は異なっても構いません。
管理者ホワイトリスト構成:
  • Server ID: python-mcp-server
  • Server Config (JSON):
{
  "command": "python3",
  "args": ["/.*\\.py", "--port", "[0-9]+"]
}
対応するユーザー構成(mcp_config.json):
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
この例は、セキュリティを維持しつつユーザーに柔軟性を提供します:
  • 正規表現 /.*\\.py/home/user/my_server.py のような任意の Python ファイルパスにマッチします
  • 正規表現 [0-9]+80803000 のような任意の数値ポートにマッチします
  • 管理者が Python スクリプトのみが実行されることを担保しつつ、ユーザーはファイルパスやポートをカスタマイズできます

よく使われる正規表現パターン

パターンマッチする内容
.*任意の文字列/home/user/script.py
[0-9]+任意の数字8080, 3000
[a-zA-Z0-9_]+英数字とアンダースコアapi_key_123
\\$HOME文字通りの $HOME$HOME(展開されない)
\\.py文字通りの .pyscript.py
\\[cli\\]文字通りの [cli]mcp[cli]

注意

管理者向け設定ガイドライン

  • 環境変数: env セクションは正規表現での照合対象ではなく、ユーザーが自由に設定できます
  • 無効化ツール: disabledTools 配列は別途処理され、ホワイトリスト照合の対象ではありません
  • 大文字小文字の区別: すべての照合は大文字小文字を区別します
  • エラーハンドリング: 無効な正規表現パターンはログに記録され、アクセスは拒否されます
  • テスト: 正規表現パターンは慎重にテストしてください。制限が厳しすぎると、正当なユースケースを妨げる可能性があります

トラブルシューティング

ユーザーから、ホワイトリスト追加後に MCP サーバーが動作しないと報告があった場合:
  1. 完全一致の確認: ホワイトリストのパターンがユーザーの設定に厳密に一致しているか確認してください
  2. 正規表現のエスケープを確認: 特殊文字はエスケープが必要な場合があります(例: ドットをリテラルにするには \.
  3. ログの確認: 無効な正規表現パターンは警告としてログに記録されます
  4. パターンのテスト: 正規表現テスターを使って、パターンが期待どおりに動作するか検証してください
注意: いずれかのサーバーをホワイトリストに登録すると、チームメンバーに対してそれ以外のサーバーはすべて自動的にブロックされます。

一般情報

  • MCP のツール呼び出しは、任意のサーバー実装者が作成したコードを実行し得るため、MCP ツール呼び出しの失敗について当社は責任を負いません。念のため再度お伝えします:
  • 現在サポートしているのは、MCP サーバーのtoolsresources、およびpromptsです。