MCP(Model Context Protocol) は、LLM がカスタムのツールやサービスにアクセスできるようにするプロトコルです。 MCP クライアント(この場合は Cascade)は、提供されるツールにアクセスするために MCP サーバーへリクエストを送信できます。 Cascade は MCP と標準連携しており、Cascade で使用する MCP サーバーを自由に追加・利用できます。 詳しくは公式 MCP ドキュメントをご覧ください。
Enterprise ユーザーは設定で手動有効化が必要です

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

新しい MCP プラグインは、Cascade パネル右上のメニューにある Plugins アイコンから開ける Plugin Store、または Windsurf Settings > Cascade > Plugins セクションから追加できます。 目的の MCP プラグインが見つからない場合は、mcp_config.json の生ファイルを編集して手動で追加できます。 公式の MCP プラグインには青いチェックマークが表示され、その親サービス提供元によって作成されたことを示します。 プラグインを選択したら、Install をクリックするだけで、そのサーバーとツールが Cascade で利用可能になります。 Windsurf は MCP サーバーの transport types として stdiohttp の2種類をサポートしています。 http サーバーの場合、URL はエンドポイントを示し、https://<your-server-url>/mcp のようになります。 ストリーミング対応の HTTP トランスポートおよび MCP 認証にも対応しています。
新しい MCP プラグインを追加した後は、必ずリフレッシュボタンを押してください。

MCP ツールの設定

各プラグインには、利用できるツールの数に制限があります。Cascade は、任意の時点で利用可能なツールの総数が最大で100までに制限されています。 プラグイン単位では、Tools タブに移動して有効化したいツールを切り替えられます。あるいは、Windsurf Settings から Manage plugins ボタンをクリックすることもできます。

mcp_config.json

~/.codeium/windsurf/mcp_config.json ファイルは、Cascade が接続可能なサーバー一覧を記載した JSON ファイルです。 JSON は Claude Desktop の設定ファイルと同一のスキーマに従う必要があります。 以下は、GitHub 用に単一のサーバーを設定する例です:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
HTTP サーバーの場合は設定が少し異なり、serverUrl フィールドが必要になることに注意してください。 以下は、HTTP サーバー向けの設定例です。
{
  "mcpServers": {
    "figma": {
      "serverUrl": "<あなたのサーバーURL>/mcp"
    }
  }
}
Figma Dev Mode の MCP サーバーを利用する場合は、新しい「/mcp」エンドポイントを使えるよう、Figma デスクトップアプリを最新バージョンに更新していることを確認してください。
使用したいサーバーに必要な引数と環境変数を必ず指定してください。 サーバー例については、MCP 公式サーバーリファレンスリポジトリ または OpenTools を参照してください。

管理者コントロール(Teams と Enterprise)

チーム管理者は、チームの MCP アクセスをオン/オフでき、チームで使用を許可する MCP サーバーをホワイトリストに登録することもできます。

MCP Team Settings

チーム用に設定可能な MCP の各種オプション。
上記リンクは、あなたにチームの管理者権限がある場合にのみ有効です。
初期設定では、チーム内のユーザーは各自で MCP サーバーを設定できます。ただし、MCP サーバーを1つでもホワイトリストに登録すると、チームではホワイトリストにないサーバーはすべてブロックされます。

サーバーのマッチングの仕組み

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.py(リテラル)script.py
\\[cli\\][cli](リテラル)mcp[cli]

注意

管理者向け構成ガイドライン

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

トラブルシューティング

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

一般情報

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