MCP server in VS Code: installazione e configurazione
Da qualche versione VS Code parla nativamente il Model Context Protocol: un MCP server in VS Code espone strumenti che l'agente può chiamare in chat — navigare una pagina, leggere un database, interrogare un'API. Ci sono due strade per aggiungerne uno: la vista Estensioni filtrata su @mcp e il file di configurazione .vscode/mcp.json. Le percorro entrambe con l'esempio di Playwright, poi passo a impostazioni, segreti e al pannello di output dove si fa debug.

🔍 Cos'è un MCP server in VS Code
Il Model Context Protocol è uno standard aperto per collegare i modelli a strumenti esterni. Dentro VS Code un MCP server fornisce tool — azioni come operazioni su file, query, chiamate API — ma anche resource da allegare al contesto e prompt riutilizzabili. L'agente li scopre all'avvio del server e li rende disponibili in chat.
La configurazione vive in un file JSON con una sola chiave servers: ogni voce è un server, identificato da un nome e da come si avvia. Qui sotto l'esempio minimo che spieghiamo riga per riga nel resto dell'articolo — un solo server stdio avviato con npx.
{
"servers": {
"playwright": {
"command": "npx",
"args": ["-y", "@microsoft/mcp-server-playwright"]
}
}
}Doc ufficiale · MCP server in VS Code ↗
⬇️ Installare da @mcp nella vista Estensioni
La via più rapida è la galleria MCP. Apri la vista Estensioni (⇧⌘X / Ctrl+Shift+X) e digita @mcp nel campo di ricerca: compare l'elenco dei server disponibili. Per trovarne uno preciso aggiungi il nome, ad esempio @mcp playwright.
Con Install il server finisce nel tuo profilo utente e vale in tutti i workspace; con un click destro e Install in Workspace viene scritto nel file .vscode/mcp.json del progetto, così lo condividi con il team. Alla prima partenza VS Code chiede di confermare che ti fidi del server prima di avviarlo.
- ⇧⌘X (Ctrl+Shift+X) → vista Estensioni.
- Cerca @mcp, oppure @mcp playwright per filtrare.
- Install = profilo utente · Install in Workspace = .vscode/mcp.json.

La galleria MCP: Playwright è in lista, pronto da installare con un click.
⚙️ L'altra via: scrivere .vscode/mcp.json a mano
Preferisci il controllo del file? Crea .vscode/mcp.json nel progetto e dichiara i server sotto la chiave servers. Un server stdio ha command e args; un server remoto ha type http e url. VS Code offre IntelliSense sullo schema e mette delle code lens sopra ogni server per avviarlo, riavviarlo o fermarlo.
Non vuoi scriverlo da zero? Il comando MCP: Add Server dalla Command Palette (⇧⌘P) ti guida e ti fa scegliere tra Workspace e Global. Per il file del profilo utente — quello valido ovunque — c'è MCP: Open User Configuration. La chiave è il file .vscode/mcp.json, non .vscode/settings.json: è un equivoco comune.
Playwright (stdio, via npx) e GitHub (http) nello stesso file; le code lens avviano e riavviano ogni server.
🔐 Impostazioni del server: segreti, sandbox, on/off
Molti server vogliono un token o una chiave. Non scriverli in chiaro nel file: usa gli input — VS Code li chiede e li conserva — oppure le variabili d'ambiente con env. Così il .vscode/mcp.json resta condivisibile senza segreti dentro.
Su macOS e Linux puoi confinare un server stdio con sandboxEnabled: gira isolato e accede solo ai percorsi e ai domini che permetti. Per accendere o spegnere un server senza toccare il file usa la sezione MCP SERVERS - INSTALLED delle Estensioni o MCP: List Servers: lo stato abilitato è salvato a parte dalla configurazione.
{
"inputs": [
{ "id": "gh-token", "type": "promptString", "password": true }
],
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp",
"headers": { "Authorization": "Bearer ${input:gh-token}" }
},
"playwright": {
"command": "npx",
"args": ["-y", "@microsoft/mcp-server-playwright"],
"sandboxEnabled": true
}
}
}Doc ufficiale · MCP configuration ↗
💬 Usarlo in chat e scegliere i tool
Server avviato e fidato, i suoi tool sono in chat. Apri la Chat view (⌃⌘I / Ctrl+Alt+I) e scrivi un prompt che li usi. Con Playwright, ad esempio, chiedi di aprire una pagina e farne uno screenshot: VS Code invoca i tool del browser e ti chiede conferma a ogni azione.
Hai troppi tool attivi? Il pulsante Configure Tools nell'input della chat li elenca tutti e lascia accenderne o spegnerne. I prompt esposti dal server si richiamano con /nome-server.nome-prompt, e le resource si allegano da Add Context › MCP Resources.
Vai su code.visualstudio.com, rifiuta il banner dei cookie e fammi uno screenshot della home.
Doc ufficiale · Strumenti in chat ↗
🐛 Debug: dove leggere l'output dell'MCP server
Quando un server non parte, VS Code mostra un indicatore d'errore nella Chat. Cliccalo e scegli Show Output: si apre il pannello Output sul canale del server, con il log riga per riga. In alternativa, MCP: List Servers dalla Command Palette, poi seleziona il server e scegli Show Output.
Nel log si leggono lo stato della connessione, quanti tool sono stati scoperti e l'eventuale errore. I classici: spawn npx ENOENT (Node o npx non nel PATH), un pacchetto in args sbagliato, o un segreto mancante. È il primo posto da guardare prima di toccare la configurazione.
Stato della connessione, tool scoperti e l'errore tipico: spawn npx ENOENT.
✅ Applicare e verificare
Il giro completo è corto: aggiungi il server (da @mcp o da .vscode/mcp.json), fidati al primo avvio, usalo in chat e, se qualcosa rompe, apri l'Output. Versiona il .vscode/mcp.json senza segreti: i token stanno negli input o nell'ambiente, lo stato on/off è già salvato a parte.
Se lavori in Dev Container o in remote, definisci i server dove devono girare: nel devcontainer.json sotto customizations.vscode.mcp, oppure nella configurazione utente remota. Così l'ambiente containerizzato ha gli stessi MCP senza copiare nulla a mano.
- 01Aggiungi il serverDa @mcp nelle Estensioni o da .vscode/mcp.json.
- 02Fidati al primo avvioVS Code chiede conferma prima di partire.
- 03Usalo in chatConfigure Tools per scegliere quali tool attivare.
- 04Debug dall'OutputMCP: List Servers › Show Output per leggere i log.
Domande frequenti su MCP server in VS Code
Dove salva VS Code la configurazione degli MCP server?
In due posti: .vscode/mcp.json nel workspace (condivisibile nel repo) e il file del profilo utente, che apri con MCP: Open User Configuration e vale in tutti i workspace. Non è .vscode/settings.json.
Meglio installare da @mcp o scrivere mcp.json a mano?
@mcp nelle Estensioni è più veloce e gestito; .vscode/mcp.json dà controllo e si versiona col progetto. Spesso si parte da @mcp e si rifinisce il file a mano: fanno la stessa cosa.
Dove vedo i log quando un MCP server non parte?
Nell'indicatore d'errore della Chat → Show Output, oppure MCP: List Servers → server → Show Output. Lì leggi stato della connessione, tool scoperti e l'errore — tipo spawn npx ENOENT quando Node non è nel PATH.
Parliamone
Se questo tema ti riguarda, scrivimi: confrontarsi su codice e AI è sempre tempo speso bene.