> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Model Context Protocol (MCP)

> Configurați servere MCP pentru a extinde Cascade cu instrumente și servicii personalizate folosind transporturi stdio, HTTP sau SSE, cu controale de administrare pentru Teams și Enterprise.

**MCP (Model Context Protocol)** este un protocol care permite LLM-urilor să acceseze instrumente și servicii personalizate.
Un client MCP (Cascade, în acest caz) poate trimite solicitări către servere MCP pentru a accesa instrumentele pe care acestea le oferă.
Cascade se integrează acum nativ cu MCP, permițându-ți să folosești propria selecție de servere MCP în Cascade.
Consultă [documentația oficială MCP](https://modelcontextprotocol.io/) pentru mai multe informații.

<Note>Utilizatorii Enterprise trebuie să activeze manual această funcție din setări</Note>

<div id="adding-a-new-mcp-plugin">
  ## Adăugarea unui nou plugin MCP
</div>

Pluginuri MCP noi pot fi adăugate din secțiunea `Settings` > `Tools` > `Windsurf Settings` > `Add Server`.

Dacă nu găsiți pluginul MCP dorit, îl puteți adăuga manual făcând clic pe butonul `View Raw Config` și editând fișierul `mcp_config.json` în format brut.

Când selectați un server MCP, faceți clic pe `+ Add Server` pentru a expune serverul și instrumentele acestuia către Cascade.

<Frame>
  <img src="https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/plugins/mcp-server-templates.jpg?fit=max&auto=format&n=d8O4q6w3H2CjrirL&q=85&s=06f96424bd8374333d6969006868456e" width="1666" height="1388" data-path="assets/plugins/mcp-server-templates.jpg" />
</Frame>

Cascade acceptă trei [tipuri de transport](https://modelcontextprotocol.io/docs/concepts/transports) pentru serverele MCP: `stdio`, `Streamable HTTP` și `SSE`.

Cascade acceptă, de asemenea, OAuth pentru fiecare tip de transport.

Pentru serverele `http`, URL-ul ar trebui să corespundă endpoint-ului și să arate astfel: `https://<your-server-url>/mcp`.

<Note>Asigurați-vă că apăsați butonul de reîmprospătare după ce adăugați un nou plugin MCP.</Note>

<div id="mcp_configjson">
  ## mcp\_config.json
</div>

Fișierul `~/.codeium/mcp_config.json` este un fișier JSON care conține o listă de servere la care Cascade se poate conecta.

Iată un exemplu de configurație care definește un singur server pentru GitHub:

```json theme={null}
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<TOKEN_PERSONAL_DE_ACCES>"
      }
    }
  }
}
```

Asigură-te că furnizești argumentele necesare și variabilele de mediu pentru serverele pe care vrei să le folosești.

Consultă [repozitorul oficial de referință pentru serverele MCP](https://github.com/modelcontextprotocol/servers) sau [OpenTools](https://opentools.com/) pentru câteva exemple de servere.

<div id="remote-http-mcps">
  ### MCP HTTP la distanță
</div>

Este important de reținut că, pentru MCP-urile HTTP la distanță, configurația este puțin
diferită și necesită un câmp `serverUrl` sau `url`.

Iată un exemplu de configurare pentru un server HTTP:

```json theme={null}
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<url-ul-serverului-tau>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}
```

<div id="config-interpolation">
  ### Interpolare în configurare
</div>

Fișierul `~/.codeium/mcp_config.json` se ocupă de interpolarea
variabilelor de mediu în aceste câmpuri: `command`, `args`, `env`, `serverUrl`, `url` și
`headers`.

Iată un exemplu de configurație care folosește o variabilă de mediu `AUTH_TOKEN`
în `headers`.

```json theme={null}
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}
```

<div id="admin-controls-teams-enterprises">
  ## Controale de administrare (Teams & Enterprise)
</div>

Administratorii de echipă pot activa sau dezactiva accesul MCP pentru echipa lor și pot, de asemenea, să includă pe lista albă servere MCP aprobate pe care echipa lor le poate folosi:

<Card title="Setări MCP pentru echipă" horizontal={true} icon="hammer" href="https://windsurf.com/team/settings">
  Setări MCP configurabile pentru echipa dumneavoastră.
</Card>

<Warning>Linkul de mai sus va funcționa doar dacă aveți drepturi de administrator pentru echipa dumneavoastră.</Warning>

În mod implicit, utilizatorii dintr-o echipă își vor putea configura propriile servere MCP. Totuși, odată ce includeți pe lista albă chiar și un singur server MCP, **toate serverele care nu sunt pe lista albă vor fi blocate** pentru echipa dumneavoastră.

<div id="how-server-matching-works">
  ### Cum funcționează potrivirea serverului
</div>

Când incluzi pe lista de permisiuni un server MCP, sistemul folosește **potrivire regex a tiparelor** cu următoarele reguli:

* **Potrivire pe șir complet**: Toate tiparele sunt ancorate automat (încadrate cu `^(?:pattern)$`) pentru a preveni potrivirile parțiale
* **Câmpul Command**: Trebuie să corespundă exact sau conform tiparului regex
* **Vectorul de argumente**: Fiecare argument este verificat individual față de tiparul corespunzător
* **Lungimea vectorului**: Numărul de argumente trebuie să corespundă exact între lista de permisiuni și configurația utilizatorului
* **Caractere speciale**: Caractere precum `$`, `.`, `[`, `]`, `(`, `)` au semnificație specială în regex și trebuie scăpate cu `\` dacă vrei potrivire literală

<div id="configuration-options">
  ### Opțiuni de configurare
</div>

<AccordionGroup>
  <Accordion title="Opțiunea 1: Implicit din Plugin Store (Recomandat)" description="Lăsați câmpul Server Config (JSON) necompletat pentru a folosi configurația implicită din Windsurf MCP Plugin Store.">
    **Configurație whitelist pentru admin:**

    * **Server ID**: `github-mcp-server`
    * **Server Config (JSON)**: *(lăsați necompletat)*

    ```json theme={null}
    {}
    ```

    **Config utilizator corespunzătoare (`mcp_config.json`):**

    ```json theme={null}
    {
      "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"
          }
        }
      }
    }
    ```

    Acest lucru le permite utilizatorilor să instaleze serverul GitHub MCP cu orice configurație validă, atâta timp cât ID-ul serverului corespunde intrării din Plugin Store.
  </Accordion>

  <Accordion title="Opțiunea 2: Configurație cu potrivire exactă" description="Furnizați configurația exactă pe care utilizatorii trebuie să o folosească. Utilizatorii trebuie să respecte această configurație întocmai.">
    **Configurație whitelist pentru admin:**

    * **Server ID**: `github-mcp-server`
    * **Server Config (JSON)**:

    ```json theme={null}
    {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": ""
      }
    }
    ```

    **Config utilizator corespunzătoare (`mcp_config.json`):**

    ```json theme={null}
    {
      "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"
          }
        }
      }
    }
    ```

    Utilizatorii trebuie să folosească exact această configurație — orice abatere în `command` sau `args` va fi blocată. Secțiunea `env` poate avea valori diferite.
  </Accordion>

  <Accordion title="Opțiunea 3: Modele regex flexibile" description="Folosiți modele regex pentru a permite variații în configurațiile utilizatorilor, păstrând în același timp controalele de securitate.">
    **Configurație whitelist pentru admin:**

    * **Server ID**: `python-mcp-server`
    * **Server Config (JSON)**:

    ```json theme={null}
    {
      "command": "python3",
      "args": ["/.*\\.py", "--port", "[0-9]+"]
    }
    ```

    **Config utilizator corespunzătoare (`mcp_config.json`):**

    ```json theme={null}
    {
      "mcpServers": {
        "python-mcp-server": {
          "command": "python3",
          "args": ["/home/user/my_server.py", "--port", "8080"],
          "env": {
            "PYTHONPATH": "/home/user/mcp"
          }
        }
      }
    }
    ```

    Acest exemplu oferă flexibilitate, menținând securitatea:

    * Regex-ul `/.*\\.py` se potrivește cu orice cale către un fișier Python, de exemplu `/home/user/my_server.py`
    * Regex-ul `[0-9]+` se potrivește cu orice port numeric, de exemplu `8080` sau `3000`
    * Utilizatorii pot personaliza căile fișierelor și porturile, iar administratorii se asigură că sunt executate doar scripturi Python
  </Accordion>
</AccordionGroup>

<div id="common-regex-patterns">
  ### Modele regex uzuale
</div>

| Model           | Potriviri                | Exemplu                |
| --------------- | ------------------------ | ---------------------- |
| `.*`            | Orice șir                | `/home/user/script.py` |
| `[0-9]+`        | Orice număr              | `8080`, `3000`         |
| `[a-zA-Z0-9_]+` | Alfanumeric + underscore | `api_key_123`          |
| `\\$HOME`       | Literal `$HOME`          | `$HOME` (neexpandat)   |
| `\\.py`         | Literal `.py`            | `script.py`            |
| `\\[cli\\]`     | Literal `[cli]`          | `mcp[cli]`             |

<div id="notes">
  ## Note
</div>

<div id="admin-configuration-guidelines">
  ### Ghiduri de configurare pentru administratori
</div>

* **Variabile de mediu**: Secțiunea `env` nu este verificată cu regex și poate fi configurată liber de utilizatori
* **Instrumente dezactivate**: Tabloul `disabledTools` este gestionat separat și nu face parte din potrivirea cu lista permisă
* **Sensibilitate la majuscule/minuscule**: Toate potrivirile sunt sensibile la majuscule/minuscule
* **Gestionarea erorilor**: Modelele regex nevalide vor fi înregistrate și vor duce la refuzarea accesului
* **Testare**: Testează cu atenție modelele regex — modele prea restrictive pot bloca scenarii de utilizare legitime

<div id="troubleshooting">
  ### Depanare
</div>

Dacă utilizatorii raportează că serverele lor MCP nu funcționează după includerea pe lista de permisiuni (whitelist):

1. **Verificați potrivirea exactă**: Asigurați-vă că modelul din listă se potrivește exact cu configurația utilizatorului
2. **Verificați escape‑ul pentru regex**: Caracterele speciale pot necesita escape (de ex., `\.` pentru puncte literale)
3. **Examinați logurile**: Modelele regex nevalide sunt înregistrate cu avertismente
4. **Testați modelele**: Folosiți un tester regex pentru a verifica dacă modelele funcționează conform așteptărilor

Rețineți: Odată ce includeți pe lista de permisiuni orice server, **toate celelalte servere sunt blocate automat** pentru membrii echipei.

<div id="general-information">
  ### Informații generale
</div>

* Deoarece apelurile de instrumente MCP pot executa cod scris de implementatori de server terți, nu ne asumăm răspunderea
  pentru eșecurile acestor apeluri. Pentru a reitera:
* În prezent, sunt acceptate [tools](https://modelcontextprotocol.io/docs/concepts/tools), [resources](https://modelcontextprotocol.io/docs/concepts/resources) și [prompts](https://modelcontextprotocol.io/docs/concepts/prompts) ale unui server MCP.
