Vai al contenuto principale

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) è un protocollo che consente agli LLM di accedere a strumenti e servizi personalizzati. Un client MCP (in questo caso, Cascade) può inviare richieste ai server MCP per accedere agli strumenti che mettono a disposizione. Cascade ora si integra nativamente con MCP, consentendoti di usare la tua selezione di server MCP in Cascade. Per ulteriori informazioni, consulta la documentazione ufficiale di MCP.
Gli utenti Enterprise devono attivarlo manualmente nelle Settings

Aggiungere un nuovo MCP

I nuovi MCP possono essere aggiunti dal MCP Marketplace, a cui puoi accedere facendo clic sull’icona MCPs nel menu in alto a destra del pannello Cascade, oppure dalla sezione Windsurf Settings > Cascade > MCP Servers. Se non riesci a trovare l’MCP desiderato, puoi aggiungerlo manualmente modificando direttamente il file mcp_config.json. Gli MCP ufficiali saranno contrassegnati da un segno di spunta blu, a indicare che sono realizzati dall’azienda che gestisce il servizio. Quando fai clic su un MCP, ti basta selezionare Install per rendere disponibili a Cascade il server e i relativi strumenti. Devin Desktop supporta l’installazione di MCP con un clic tramite deeplink. Puoi usare questi collegamenti per aprire direttamente la pagina del registry MCP in Devin Desktop, utile per condividere suggerimenti sui server MCP o integrare pulsanti di installazione nella documentazione. Il formato del deeplink è:
windsurf://windsurf-mcp-registry?serverName=<server-name>
  • Con serverName: apre la pagina del registry MCP per il server specificato, dove l’utente può consultarlo e installarlo.
  • Senza serverName: apre la pagina di MCP Marketplace.
Ad esempio, windsurf://windsurf-mcp-registry?serverName=github-mcp-server aprirà la pagina del registry del server MCP GitHub in Devin Desktop.
I deeplink di installazione con un clic richiedono che il team dell’utente abbia l’accesso a MCP abilitato. Se l’accesso a MCP è disabilitato da un amministratore, il deeplink non aprirà la pagina del registry.
Devin Desktop supporta tre tipi di trasporto per i server MCP: stdio, Streamable HTTP e SSE. Devin Desktop supporta anche OAuth per ogni tipo di trasporto. Per i server http, l’URL deve corrispondere a quello dell’endpoint e avere un formato simile a https://<your-server-url>/mcp.

Configurazione degli strumenti MCP

Ogni MCP ha accesso a un certo numero di strumenti. Cascade ha un limite massimo di 100 strumenti accessibili in un dato momento. In ogni pagina Settings di un MCP, puoi abilitare o disabilitare gli strumenti desiderati. Per aprire le Settings di un MCP, fai clic sull’icona MCPs nel menu in alto a destra del pannello Cascade, quindi fai clic sull’MCP desiderato.

mcp_config.json

Il file ~/.codeium/windsurf/mcp_config.json è un file JSON che contiene un elenco di server a cui Cascade può collegarsi. Ecco un esempio di configurazione che imposta un singolo server per GitHub:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
Assicurati di fornire gli argomenti richiesti e le variabili d’ambiente per i server che intendi usare. Consulta il repository di riferimento ufficiale dei server MCP o OpenTools per alcuni esempi di server. Di seguito sono riportati alcuni esempi di configurazione per server MCP di uso comune. Puoi aggiungerli al file mcp_config.json.
Il server MCP di GitHub fornisce strumenti per la gestione dei repository, le operazioni sui file, il monitoraggio delle issue e la gestione delle pull request.Con npx:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
Con 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>"
      }
    }
  }
}
Per creare un token di accesso personale, vai a GitHub Settings > Developer settings > Personal access tokens.
Il server MCP di Slack consente di gestire i canali, inviare messaggi e interagire con il workspace.
{
  "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>"
      }
    }
  }
}
Per configurare un token bot di Slack:
  1. Crea una Slack App su api.slack.com/apps
  2. Aggiungi gli OAuth scopes richiesti (ad es. channels:read, chat:write, users:read)
  3. Installa l’app nel tuo workspace e copia il Bot User OAuth Token
Il server MCP di PostgreSQL fornisce accesso in sola lettura ai database PostgreSQL, inclusi l’ispezione dello schema e l’esecuzione di query.
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/database"
      }
    }
  }
}
Per motivi di sicurezza, il server PostgreSQL fornisce per impostazione predefinita accesso in sola lettura. Assicurati che la stringa di connessione utilizzi credenziali appropriate con autorizzazioni limitate.
Il server MCP Filesystem fornisce accesso sicuro a file e directory locali con controlli di accesso configurabili.
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y", "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/directory"
      ]
    }
  }
}
Puoi specificare più directory consentite aggiungendo ulteriori argomenti di percorso. Saranno accessibili solo i file all’interno di queste directory.
Il server MCP Memory fornisce un sistema di memoria persistente basato su un grafo della conoscenza, che consente a Cascade di ricordare informazioni da una sessione all’altra.
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}
Il server di memoria archivia i dati localmente e li conserva tra le sessioni, risultando utile per mantenere il contesto relativo a progetti, preferenze e informazioni apprese.

MCP HTTP remoti

È importante tenere presente che, per i MCP HTTP remoti, la configurazione è leggermente diversa e richiede un campo serverUrl o url. Ecco un esempio di configurazione per un server HTTP:
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Interpolazione della configurazione

Il file ~/.codeium/windsurf/mcp_config.json supporta l’interpolazione delle variabili nei seguenti campi: command, args, env, serverUrl, url e headers. In questo modo puoi evitare di inserire i segreti direttamente nel file di configurazione. Sono supportati due pattern di interpolazione:
  • ${env:VAR_NAME} — sostituito con il valore della variabile d’ambiente VAR_NAME. Se la variabile non è impostata, si risolve in una stringa vuota.
  • ${file:/path/to/file} — sostituito con il contenuto del file nel percorso specificato, senza spazi iniziali o finali. Sono supportati i percorsi con tilde (ad es. ~/secrets/key.txt). Se il file non può essere letto, il pattern resta invariato.
Ecco un esempio che usa una variabile d’ambiente in headers:
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}
Ecco un esempio di come leggere una chiave API da un file:
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["server.js"],
      "env": {
        "API_KEY": "${file:~/.secrets/api_key.txt}"
      }
    }
  }
}

Controlli amministrativi (Team ed Enterprise)

Gli amministratori del team possono attivare o disattivare l’accesso a MCP per il proprio team, nonché inserire nella whitelist i server MCP approvati che il team può usare:

MCP Registry

I team Enterprise possono configurare registry MCP personalizzati in sostituzione del marketplace MCP predefinito di Devin Desktop. I team possono collegare gli URL dei propri registry per controllare quali MCP sono disponibili per i propri utenti.
I registry sono l’approccio preferito per gestire l’accesso agli MCP, anche se anche le whitelist funzionano.

Configurazione di registry personalizzati

  1. Apri Team Settings
  2. Trova l’impostazione MCP Registry URLs
  3. Aggiungi uno o più URL di registry
Quando sono configurati più URL di registry, Devin Desktop usa l’unione di tutti i registry: gli utenti vedranno gli MCP di tutte le fonti configurate in un unico elenco. Il marketplace MCP del team recupererà quindi i dati da questi registry interni anziché dal registry predefinito di Devin Desktop.
I registry personalizzati devono seguire lo schema ufficiale del registry MCP. Questo garantisce la compatibilità e definizioni standardizzate dei server.

Whitelist MCP

Settings del team MCP

Impostazioni MCP configurabili per il tuo team.
Il collegamento sopra funzionerà solo se disponi dei privilegi di amministratore per il tuo team.
Per impostazione predefinita, gli utenti di un team possono configurare i propri server MCP. Tuttavia, non appena inserisci nella whitelist anche un solo server MCP, tutti i server non inclusi nella whitelist verranno bloccati per il tuo team.
L’ID del server nella whitelist deve corrispondere, con distinzione tra maiuscole e minuscole, al nome della chiave usato nel file mcp_config.json dell’utente.

Come funziona la corrispondenza dei server

Quando inserisci un server MCP nella whitelist, il sistema usa la corrispondenza tramite pattern regex secondo le seguenti regole:
  • Corrispondenza dell’intera stringa: tutti i pattern sono automaticamente ancorati (racchiusi in ^(?:pattern)$) per evitare corrispondenze parziali
  • Campo Command: deve corrispondere esattamente o in base al pattern regex specificato
  • Array Arguments: ogni argomento viene confrontato singolarmente con il pattern corrispondente
  • Lunghezza dell’array: il numero di argomenti deve corrispondere esattamente tra la whitelist e la configurazione utente
  • Caratteri speciali: caratteri come $, ., [, ], (, ) hanno un significato speciale nelle regex e devono essere preceduti da \ se vuoi una corrispondenza letterale

Opzioni di configurazione

Configurazione della whitelist degli admin:
  • Server ID: github-mcp-server
  • Server Config (JSON): (lasciare vuoto)
{}
Configurazione utente corrispondente (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"
      }
    }
  }
}
Questo consente agli utenti di installare il server MCP di GitHub con qualsiasi configurazione valida, purché il Server ID corrisponda alla voce del Plugin Store.
Configurazione della whitelist degli 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": ""
  }
}
Configurazione utente corrispondente (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"
      }
    }
  }
}
Gli utenti devono usare esattamente questa configurazione: qualsiasi variazione nel comando o negli argomenti verrà bloccata. La sezione env può avere valori diversi.
Configurazione della whitelist degli admin:
  • Server ID: python-mcp-server
  • Server Config (JSON):
{
  "command": "python3",
  "args": ["/.*\\.py", "--port", "[0-9]+"]
}
Configurazione utente corrispondente (mcp_config.json):
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
Questo esempio offre agli utenti flessibilità mantenendo al tempo stesso la sicurezza:
  • La regex /.*\\.py corrisponde a qualsiasi percorso di file Python, ad esempio /home/user/my_server.py
  • La regex [0-9]+ corrisponde a qualsiasi porta numerica, ad esempio 8080 o 3000
  • Gli utenti possono personalizzare i percorsi dei file e le porte, mentre gli admin garantiscono che vengano eseguiti solo script Python

Pattern regex comuni

PatternCorrisponde aEsempio
.*Una stringa qualsiasi/home/user/script.py
[0-9]+Qualsiasi numero8080, 3000
[a-zA-Z0-9_]+Caratteri alfanumerici + underscoreapi_key_123
\\$HOME$HOME letterale$HOME (non espanso)
\\.py.py letteralescript.py
\\[cli\\][cli] letteralemcp[cli]

Note

Linee guida per la configurazione Admin

  • Variabili d’ambiente: la sezione env non è soggetta a corrispondenza con regex e può essere configurata liberamente dagli utenti
  • Strumenti disabilitati: l’array disabledTools viene gestito separatamente e non rientra nella corrispondenza della whitelist
  • Sensibilità alle maiuscole/minuscole: tutta la corrispondenza distingue tra maiuscole e minuscole
  • Gestione degli errori: i pattern regex non validi vengono registrati nei log e comportano il rifiuto dell’accesso
  • Testing: testa con attenzione i tuoi pattern regex - pattern troppo restrittivi potrebbero bloccare casi d’uso legittimi

Risoluzione dei problemi

Se gli utenti segnalano che i loro server MCP non funzionano dopo essere stati inseriti nella whitelist:
  1. Verifica la corrispondenza esatta: assicurati che il pattern della whitelist corrisponda esattamente alla configurazione dell’utente
  2. Verifica l’escape delle regex: i caratteri speciali potrebbero dover essere sottoposti a escape (ad es. \. per i punti letterali)
  3. Controlla i log: i pattern regex non validi vengono registrati con avvisi
  4. Testa i pattern: usa uno strumento di test per regex per verificare che i pattern funzionino come previsto
Ricorda: una volta inserito nella whitelist un server qualsiasi, tutti gli altri server vengono automaticamente bloccati per i membri del tuo team.

Informazioni generali

  • Poiché le chiamate agli strumenti MCP possono invocare codice scritto da implementatori di server terzi, non ci assumiamo alcuna responsabilità per eventuali errori nelle chiamate agli strumenti MCP. Per ribadirlo:
  • Al momento supportiamo gli strumenti, le risorse e i prompt di un server MCP.