Configurarea mcpServers JSON (Claude Desktop, Cursor, VS Code) în Model Context Protocol (MCP)

Structura fișierului JSON de configurare prin care conectezi servere MCP locale (npx, uvx, docker) sau remote în Claude Desktop, Cursor IDE și Windsurf.

Specificație & cod MCP
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/db"]
    },
    "server-intern": {
      "command": "uvx",
      "args": ["mcp-server-git"],
      "env": { "GIT_AUTHOR_NAME": "Dexter" }
    }
  }
}

Descriere & Utilizare

Majoritatea aplicațiilor Host de pe desktop și din IDE-uri folosesc același format standardizat JSON bazat pe cheia rădăcină "mcpServers" pentru a declara serverele MCP pe care trebuie să le pornească.

În Claude Desktop, acest fișier se numește claude_desktop_config.json (situat în ~/Library/Application Support/Claude/ pe macOS sau %APPDATA%Claude pe Windows). În Cursor IDE, configurația se salvează în .cursor/mcp.json (la nivel de proiect) sau ~/.cursor/mcp.json (global).

Fiecare intrare din mcpServers definește comanda executabilă (command: de obicei npx pentru pachete Node.js sau uvx pentru pachete Python), lista de argumente (args) și variabilele de mediu secrete (env, unde treci cheile API).

Cum să o reții ușor

💡 Ca lista de programe de Startup a sistemului de operare: îi spui aplicației AI ce asistenți specializați să pornească automat în fundal și ce chei de acces să le înmâneze.

Opțiuni și parametri tehnici

  • command: executabilul lansat (npx, uvx, node, python, docker). Pe macOS/Linux este recomandat să folosești calea absolută (ex: /opt/homebrew/bin/npx) dacă aplicația GUI nu vede variabila PATH din terminal.
  • args: array de stringuri cu flag-urile și argumentele pasate comenzii (folosește întotdeauna "-y" la npx pentru a descărca pachetul fără prompt interactiv).
  • env: dicționar de variabile de mediu izolate doar pentru acel server MCP (ex: GITHUB_PERSONAL_ACCESS_TOKEN).
  • url: folosit în locul perechii command/args atunci când te conectezi la un server remote prin SSE / Streamable HTTP.

Exemple practice și cazuri de utilizare

  • Adăugarea accesului controlat la un folder local: "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/dexter/Projects"] }
  • Rularea unui server MCP izolat în Docker: "command": "docker", "args": ["run", "-i", "--rm", "mcp/sqlite", "/data/test.db"] (flag-ul -i este obligatoriu pentru fluxul stdin!).
  • Partajarea configurației cu echipa în Git: salvează .cursor/mcp.json sau .mcp.json în rădăcina proiectului fără chei hardcodate.

Sfaturi de configurare & capcane

Dacă pe macOS Claude Desktop afișează eroarea spawn npx ENOENT, rulează which npx în terminal și pune calea completă (ex: /usr/local/bin/npx sau /opt/homebrew/bin/npx) în câmpul "command".

Comenzi și ghiduri înrudite