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

新しい MCP を追加する

新しい MCP は MCP Marketplace から追加できます。Cascade パネル右上メニューの MCPs アイコンをクリックするか、 Windsurf Settings > Cascade > MCP Servers セクションからアクセスできます。 目的の MCP が見つからない場合は、生の mcp_config.json ファイルを編集して手動で追加できます。 公式 MCP には青いチェックマークが表示され、元のサービス提供会社によって作成されたものであることを示します。 MCP をクリックしたら、Install をクリックするだけで、そのサーバーとツールを Cascade から利用できるようになります。 Windsurf は MCP サーバーに対して 3 つの トランスポートタイプ をサポートしています: stdioStreamable HTTPSSE です。 また、Windsurf は各トランスポートタイプに対して OAuth もサポートしています。 http サーバーの場合、URL はエンドポイントを表し、https://<your-server-url>/mcp のような形式にする必要があります。

MCP ツールの設定

各 MCP には、利用できるツールの数に制限があります。Cascade は、任意の時点で利用可能なツールの総数は最大100個に制限されています。 各 MCP の設定ページで、有効化したいツールを切り替えられます。 特定の MCP の設定を開くには、Cascade パネル右上メニューの MCPs アイコンをクリックし、目的の MCP をクリックします。

mcp_config.json

~/.codeium/windsurf/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 を参照してください。 以下は、よく利用されている MCP サーバーの設定例です。これらは mcp_config.json ファイルに追加できます。
GitHub MCP サーバーは、リポジトリ管理、ファイル操作、Issue 管理、Pull Request 管理のためのツールを提供します。npx を使う場合:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
Docker を使う場合:
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
Personal Access Token を作成するには、GitHub Settings > Developer settings > Personal access tokens にアクセスしてください。
Slack MCP サーバーを使うと、チャンネル管理、メッセージ送信、ワークスペースとの各種連携が可能になります。
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "<YOUR_SLACK_BOT_TOKEN>",
        "SLACK_TEAM_ID": "<YOUR_SLACK_TEAM_ID>"
      }
    }
  }
}
Slack Bot Token をセットアップするには:
  1. api.slack.com/apps で Slack App を作成します
  2. 必要な OAuth スコープ(例: channels:read, chat:write, users:read)を追加します
  3. アプリをワークスペースにインストールし、Bot User OAuth Token をコピーします
PostgreSQL MCP サーバーは、スキーマの検査やクエリ実行を含む、PostgreSQL データベースへの読み取り専用アクセスを提供します。
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/database"
      }
    }
  }
}
PostgreSQL サーバーは、安全性のためデフォルトで読み取り専用アクセスを提供します。接続文字列には、権限が制限された適切な認証情報を使用していることを確認してください。
Filesystem MCP サーバーは、設定可能なアクセス制御付きでローカルファイルやディレクトリへの安全なアクセスを提供します。
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y", "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/directory"
      ]
    }
  }
}
追加のパス引数を指定することで、許可するディレクトリを複数設定できます。これらのディレクトリ内のファイルのみがアクセス可能になります。
Memory MCP サーバーはナレッジグラフを用いた永続メモリシステムを提供し、Cascade がセッションをまたいで情報を記憶できるようにします。
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}
Memory サーバーはデータをローカルに保存し、セッション間で保持するため、プロジェクト、設定、学習済み情報などに関するコンテキストを維持するのに役立ちます。

リモート HTTP MCP

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

設定の補間

~/.codeium/windsurf/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 チーム設定

チーム用の MCP 設定を管理できます。
上記のリンクは、あなたにチームの管理者権限がある場合にのみ有効です。
デフォルトでは、チーム内のユーザーは自分用の MCP サーバーを設定できます。ただし、MCP サーバーを 1 つでもホワイトリストに登録すると、ホワイトリストに登録されていないすべてのサーバーは、そのチームでは利用できなくなります
ホワイトリストに登録する Server ID は、ユーザーの mcp_config.json で使用されているキー名と、大文字・小文字も含めて完全に一致している必要があります。

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

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 をサポートしています。