メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

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

新しいMCPを追加する

新しいMCPは MCP Marketplace から追加できます。MCP Marketplace には、Cascade パネル右上のメニューにある MCPs アイコンをクリックするか、 Windsurf Settings > Cascade > MCP Servers セクションからアクセスできます。 目的のMCPが見つからない場合は、mcp_config.json ファイルを直接編集して手動で追加できます。 公式MCPには青いチェックマークが表示され、提供元のサービス企業が作成したものであることを示します。 MCPをクリックしたら、Install をクリックするだけで、そのサーバーとツールを Cascade で利用できるようになります。 Devin Desktop は、ディープリンク経由でのワンクリック MCP インストールをサポートしています。これらのリンクを利用すると、MCP の レジストリページを Devin Desktop で直接開くことができるため、MCPサーバーのおすすめを共有したり、 ドキュメントにインストールボタンを埋め込んだりする際に便利です。 ディープリンクの形式は次のとおりです。
windsurf://windsurf-mcp-registry?serverName=<server-name>
  • serverName がある場合: 指定したサーバーの MCP レジストリ ページを開き、ユーザーはそこで内容を確認してインストールできます。
  • serverName がない場合: MCP Marketplace ページを開きます。
たとえば、windsurf://windsurf-mcp-registry?serverName=github-mcp-server を開くと、Devin Desktop で GitHub MCPサーバー の レジストリ ページが開きます。
ワンクリックインストール用の deeplink を利用するには、ユーザーのチームで MCP アクセスが有効になっている必要があります。管理者によって MCP アクセスが無効になっている場合、deeplink では レジストリ ページを開けません。
Devin Desktop は、MCP server 向けに 3 種類の transport types (stdioStreamable HTTPSSE) をサポートしています。 Devin Desktop は、各 transport type での OAuth にも対応しています。 http server の場合、URL は endpoint を反映したものにし、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 server は、リポジトリ管理、ファイル操作、issue の追跡、PR 管理のためのツールを提供します。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>"
      }
    }
  }
}
パーソナルアクセストークンを作成するには、GitHub Settings > Developer settings > Personal access tokens にアクセスしてください。
Slack MCP server は、チャンネル管理、メッセージ送信、ワークスペース内での操作を可能にします。
{
  "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 scopes (例: channels:read, chat:write, users:read) を追加します
  3. アプリをワークスペースにインストールし、Bot User OAuth Token をコピーします
PostgreSQL MCP server は、スキーマ確認やクエリ実行を含む、PostgreSQL データベースへの読み取り専用アクセスを提供します。
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/database"
      }
    }
  }
}
PostgreSQL server は、安全のためデフォルトで読み取り専用アクセスを提供します。接続文字列には、適切で権限が制限された認証情報を使用してください。
Filesystem MCP server は、設定可能なアクセス制御により、ローカルのファイルやディレクトリへの安全なアクセスを提供します。
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y", "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/directory"
      ]
    }
  }
}
パス引数を追加することで、複数の許可ディレクトリを指定できます。アクセスできるのは、これらのディレクトリ内のファイルのみです。
Memory MCP server は、ナレッジグラフを利用した永続メモリシステムを提供し、Cascade がセッションをまたいで情報を記憶できるようにします。
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}
memory server はデータをローカルに保存し、セッションをまたいで保持します。そのため、プロジェクト、設定、学習した情報に関する前提情報を維持するのに役立ちます。

リモート 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 の各フィールドで変数補間をサポートしています。これにより、シークレットを設定ファイルに直接ハードコードせずに済みます。 サポートされている補間パターンは 2 つあります。
  • ${env:VAR_NAME} — 環境変数 VAR_NAME の値に置き換えられます。変数が設定されていない場合は、空文字列になります。
  • ${file:/path/to/file} — 指定したパスのファイル内容 (前後の空白を除去したもの) に置き換えられます。チルダ付きのパス (例: ~/secrets/key.txt) もサポートされています。ファイルを読み取れない場合、このパターンはそのまま残ります。
以下は、headers で環境変数を使用する例です。
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}
以下は、ファイルからAPIキーを読み込む例です。
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["server.js"],
      "env": {
        "API_KEY": "${file:~/.secrets/api_key.txt}"
      }
    }
  }
}

管理者向け設定 (チームとEnterprise)

チーム管理者は、自分のチームの MCP アクセスを切り替えたり、チームで利用する承認済みの MCPサーバーをホワイトリストに追加したりできます:

MCP Registry

Enterpriseのチームは、デフォルトのDevin Desktop MCP marketplaceの代わりに、カスタムMCPレジストリを設定できます。チームは独自のレジストリURLを関連付けることで、ユーザーが利用できるMCPを管理できます。
MCPアクセスの管理にはレジストリの利用を推奨しますが、ホワイトリストでも対応できます。

カスタムレジストリの設定

  1. チーム設定に移動します
  2. MCP Registry URLs 設定を見つけます
  3. 1 つ以上のレジストリ URL を追加します
複数のレジストリ URL が設定されている場合、Devin Desktop はそれらすべてのレジストリの 和集合 を利用します。つまり、ユーザーには設定されたすべてのソースの MCP がまとめて表示されます。その後、チームの MCP marketplace は、デフォルトの Devin Desktop レジストリではなく、これらの内部レジストリから取得するようになります。
カスタムレジストリは、公式 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"
      }
    }
  }
}
これにより、Server ID が plugin store のエントリと一致している限り、ユーザーは任意の有効な設定で 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"
      }
    }
  }
}
ユーザーはこの設定を正確に利用する必要があります。command または args に少しでも違いがあるとブロックされます。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 スクリプトのみが実行されるようにしつつ、ユーザーはファイルパスとポートを自由にカスタマイズできます

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

PatternMatchesExample
.*任意の文字列/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. パターンをテスト: 正規表現テスターを使って、パターンが想定どおりに機能することを確認してください
注意: いずれか 1 つのサーバーをホワイトリストに登録すると、それ以外のすべてのサーバーはチームのメンバーに対して自動的にブロックされます

一般情報

  • MCP ツール呼び出しでは、任意のサーバー実装者が作成したコードが実行される可能性があるため、当社は MCP ツール呼び出しの失敗について責任を負いません。改めてお伝えすると:
  • 現在、MCPサーバー の ツールリソース、および プロンプト をサポートしています。