Pular para o conteúdo principal
MCP (Model Context Protocol) é um protocolo que permite que modelos de linguagem acessem ferramentas e serviços personalizados. Um cliente MCP (o Cascade, neste caso) pode enviar solicitações a servidores MCP para acessar as ferramentas que eles disponibilizam. O Cascade agora integra-se nativamente ao MCP, permitindo que você conecte sua própria seleção de servidores MCP para o Cascade usar. Consulte a documentação oficial do MCP para mais informações.
Usuários do plano Enterprise devem ativar isso manualmente nas configurações

Adicionando um novo MCP

Novos MCPs podem ser adicionados a partir do MCP Marketplace, que você acessa clicando no ícone MCPs no menu superior direito do painel do Cascade, ou pela seção Windsurf Settings > Cascade > MCP Servers. Se você não encontrar o MCP desejado, é possível adicioná-lo manualmente editando diretamente o arquivo mcp_config.json. MCPs oficiais aparecerão com um ícone de verificação azul, indicando que são feitos pela empresa do serviço correspondente. Quando você clicar em um MCP, basta clicar em Install para disponibilizar o servidor e suas ferramentas no Cascade. O Windsurf oferece suporte a três tipos de transporte para servidores MCP: stdio, Streamable HTTP e SSE. O Windsurf também oferece suporte a OAuth para cada tipo de transporte. Para servidores http, a URL deve refletir a do endpoint e se assemelhar a https://<your-server-url>/mcp.

Configurando ferramentas MCP

Cada MCP tem acesso a um determinado conjunto de ferramentas. O Cascade tem um limite de 100 ferramentas no total às quais pode ter acesso a qualquer momento. Em cada página de configurações do MCP, você pode ativar ou desativar as ferramentas que deseja habilitar. Para abrir as configurações de um MCP, clique no ícone MCPs no menu superior direito do painel do Cascade e clique no MCP desejado.

mcp_config.json

O arquivo ~/.codeium/windsurf/mcp_config.json é um arquivo JSON que contém uma lista de servidores aos quais o Cascade pode se conectar. Aqui está um exemplo de configuração que define um único servidor para o GitHub:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<SEU_TOKEN_DE_ACESSO_PESSOAL>"
      }
    }
  }
}
Certifique-se de fornecer os argumentos e as variáveis de ambiente exigidos pelos servidores que você deseja usar. Consulte o repositório oficial de referência de servidores MCP ou o OpenTools para exemplos de servidores.

MCPs HTTP remotos

É importante observar que, para MCPs HTTP remotos, a configuração é um pouco diferente e requer o campo serverUrl ou url. Veja um exemplo de configuração para um servidor HTTP:
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<url-do-seu-servidor>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Interpolação de configuração

O arquivo ~/.codeium/windsurf/mcp_config.json é responsável pela interpolação de variáveis de ambiente nesses campos: command, args, env, serverUrl, url e headers. Veja um exemplo de configuração que usa a variável de ambiente AUTH_TOKEN no campo headers.
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

Controles de administração (Teams & Enterprises)

Os administradores de equipe podem ativar ou desativar o acesso ao MCP para sua equipe, bem como definir uma lista de servidores MCP aprovados para uso pela equipe:

Configurações de MCP da equipe

Configurações de MCP personalizáveis para sua equipe.
O link acima só funcionará se você tiver privilégios de administrador da sua equipe.
Por padrão, os usuários de uma equipe podem configurar seus próprios servidores MCP. No entanto, assim que você adicionar mesmo que apenas um único servidor MCP à lista de permissões, todos os servidores que não estiverem nela serão bloqueados para sua equipe.

Como o Server Matching funciona

Quando você coloca um servidor MCP na allowlist, o sistema usa correspondência por padrão regex com as seguintes regras:
  • Correspondência de string completa: Todos os padrões são automaticamente ancorados (envolvidos com ^(?:pattern)$) para evitar correspondências parciais
  • Campo Command: Deve corresponder exatamente ou conforme o seu padrão regex
  • Array de argumentos: Cada argumento é comparado individualmente ao seu padrão correspondente
  • Tamanho do array: O número de argumentos deve corresponder exatamente entre a allowlist e a configuração do usuário
  • Caracteres especiais: Caracteres como $, ., [, ], (, ) têm significado especial em regex e devem ser escapados com \ se você quiser correspondência literal

Opções de configuração

Configuração de lista de permissões do admin:
  • Server ID: github-mcp-server
  • Server Config (JSON): (deixe em branco)
{}
Configuração correspondente do usuário (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"
      }
    }
  }
}
Isso permite que os usuários instalem o servidor MCP do GitHub com qualquer configuração válida, desde que o Server ID corresponda à entrada da Plugin Store.
Configuração de lista de permissões do admin:
  • 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": ""
  }
}
Configuração correspondente do usuário (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"
      }
    }
  }
}
Os usuários devem usar exatamente essa configuração — qualquer desvio em command ou args será bloqueado. A seção env pode ter valores diferentes.
Configuração de lista de permissões do admin:
  • Server ID: python-mcp-server
  • Server Config (JSON):
{
  "command": "python3",
  "args": ["/.*\\.py", "--port", "[0-9]+"]
}
Configuração correspondente do usuário (mcp_config.json):
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
Este exemplo oferece flexibilidade aos usuários sem abrir mão da segurança:
  • O regex /.*\\.py corresponde a qualquer caminho de arquivo Python, como /home/user/my_server.py
  • O regex [0-9]+ corresponde a qualquer porta numérica, como 8080 ou 3000
  • Os usuários podem personalizar caminhos de arquivo e portas, enquanto os admins garantem que apenas scripts Python sejam executados

Padrões Comuns de Regex

PadrãoCorrespondênciasExemplo
.*Qualquer string/home/user/script.py
[0-9]+Qualquer número8080, 3000
[a-zA-Z0-9_]+Alfanumérico + sublinhadoapi_key_123
\\$HOMELiteral $HOME$HOME (não expandido)
\\.pyLiteral .pyscript.py
\\[cli\\]Literal [cli]mcp[cli]

Notas

Diretrizes de Configuração do Admin

  • Variáveis de ambiente: A seção env não é verificada por regex e pode ser configurada livremente pelos usuários
  • Ferramentas desativadas: O array disabledTools é tratado separadamente e não faz parte da verificação por whitelist
  • Diferença entre maiúsculas e minúsculas: Toda a correspondência diferencia maiúsculas de minúsculas
  • Tratamento de erros: Padrões de regex inválidos serão registrados e resultarão em negação de acesso
  • Testes: Teste seus padrões de regex com cuidado — padrões excessivamente restritivos podem bloquear casos de uso legítimos

Solução de problemas

Se os usuários relatarem que os servidores MCP não estão funcionando após entrarem na lista de permissões:
  1. Verifique a correspondência exata: Certifique-se de que o padrão da lista de permissões corresponde exatamente à configuração do usuário
  2. Verifique o escape em regex: Caracteres especiais podem precisar de escape (por exemplo, \. para pontos literais)
  3. Confira os logs: Padrões regex inválidos são registrados com avisos
  4. Teste os padrões: Use um validador/testador de regex para verificar se seus padrões funcionam como esperado
Lembre-se: Depois que você permite qualquer servidor na lista, todos os outros servidores são automaticamente bloqueados para os membros da sua equipe.

Informações gerais

  • Como chamadas de ferramentas MCP podem executar código escrito por implementadores de servidor diversos, não assumimos responsabilidade por falhas nessas chamadas. Para reiterar:
  • Atualmente, oferecemos suporte às ferramentas, aos recursos e aos prompts de um servidor MCP.