Configurare MCP în VS Code și cheia care încurcă pe toată lumea

de The Spinrun team3 min de cititGhiduri

Aproape orice client MCP a copiat forma de configurare a lui Claude Desktop, ceea ce înseamnă că aproape orice client își citește serverele dintr-un obiect mcpServers.

VS Code nu. El folosește servers.

Cuvântul acesta este cel mai frecvent motiv pentru care o configurare MCP în VS Code nu face în tăcere absolut nimic: fișierul se parsează, editorul pornește și nu apare niciun instrument, pentru că nimeni nu s-a uitat vreodată la cheia pe care ai scris-o.

Configurația

mcp.json
json
{
  "servers": {
    "spinrun": {
      "url": "https://spinrun.ai/mcp",
      "headers": {
        "x-spinrun-client": "vscode"
      }
    }
  }
}

Fișierul stă în profilul tău de utilizator:

Unde stă mcp.json
macOS   ~/Library/Application Support/Code/User/mcp.json
Linux   ~/.config/Code/User/mcp.json

Sau rulează spinrun install vscode și lasă CLI-ul să îl scrie — știe ce cheie vrea clientul acesta, exact detaliul pe care merită să nu îl ții minte.

Nu există niciun credențial în acel bloc. VS Code deschide un browser la prima conectare la gateway; alegi un spațiu de lucru acolo și instrumentele apar.

Ce face antetul

x-spinrun-client este atribuire și nu poartă nimic secret. El face ca jurnalul de activitate să poată spune că un apel a venit din VS Code, ceea ce contează prima dată când încerci să afli care dintre agenții tăi a făcut ceva. Instrumentele pe care le vede apoi VS Code sunt exact conexiunile pe care le vezi tu, pentru că este autorizat ca tine.

Ce primești

Aplicațiile conectate ale spațiului tău, ca instrumente denumite TOOLKIT_VERB_OBJECTGITHUB_CREATE_ISSUE, JIRA_UPDATE_ISSUE, SLACK_SEND_MESSAGE. Un singur endpoint HTTP, fără procese locale, fără aplicații OAuth de înregistrat la fiecare furnizor și fără nimic de ținut pornit pe calculatorul tău.

Întâi regulile, apoi instrumentele

Setează politica fiecărei aplicații înainte să îndrepți un agent spre ea. Trei rânduri pentru fiecare aplicație — citire, scriere, distructiv — fiecare permisă sau blocată, aplicate în gateway la fiecare apel, nu sugerate modelului.

Instrumentele blocate nu sunt oferite deloc lui VS Code și sunt refuzate din nou dacă sunt apelate oricum. Refuzul numește regula, ceea ce transformă „nu a mers” în „este blocat și iată de ce”.

Un exemplu concret

Cu un tracker și Slack conectate:

Citește testul care pică din fișierul ăsta, deschide un tichet care îl descrie în depozitul api și lasă linkul în #eng.

VS Code citește testul din copia ta de lucru, iar pentru rest apelează GITHUB_CREATE_ISSUE și SLACK_SEND_MESSAGE. Partea care cerea trei schimbări de context este acum o singură propoziție.

Dacă tot nu merge

Trei verificări, în ordine:

  1. Cheia. servers, nu mcpServers. Aproape întotdeauna asta este.
  2. Fișierul. Profilul de utilizator, nu spațiul de lucru. Un .vscode/mcp.json dintr-un proiect este alt fișier, cu alt domeniu.
  3. Repornirea. VS Code citește asta la pornire. Reîncarcă fereastra.

Ce urmează

Înainte să se încarce ceva

Am vrea să activăm analiza traficului, ca să vedem ce pagini merită păstrate. Nu s-a încărcat încă nimic și nu se va încărca nimic până nu alegi. Cookie-urile care te țin autentificat și îți rețin limba nu fac parte din asta.

Citește Politica de cookie-uri