> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/it/guide/ai-agents/limit-tools.md).

# Limitare ciò che un agente può fare

Limitare il server MCP di Devolutions CLI agli strumenti di sola lettura, nascondere gli strumenti distruttivi, tenere i valori dei segreti fuori dal modello, oppure consentire un breve elenco di stru

Per impostazione predefinita, `devo mcp` dà al client IA ogni strumento che ha: leggere, modificare ed eliminare casseforti e voci, gestire l’accesso e risolvere i valori dei segreti. La maggior parte degli agenti ha bisogno di molto meno. Aggiunga opzioni di restrizione al comando `devo mcp` nella configurazione del client, e gli strumenti che nasconde non raggiungono mai il modello.

## Scegliere l’opzione giusta

<table><thead><tr><th width="230">SCELGA</th><th>CHE COSA SUCCEDE</th><th>LO USI QUANDO</th></tr></thead><tbody><tr><td><code>--read-only</code></td><td>Restano solo gli strumenti contrassegnati come di sola lettura. Niente che crei, modifichi, sposti o elimini dati.</td><td>L’agente esplora o fa un resoconto: cercare voci, rivedere l’accesso, leggere i log.</td></tr><tr><td><code>--deny-destructive</code></td><td>Nasconde gli strumenti contrassegnati come distruttivi, come l’eliminazione di una voce, di una cassaforte, di un gruppo, di un utente o di variabili, e il riavvio o l’arresto del processo in background. Gli strumenti che creano o aggiornano dati restano.</td><td>L’agente può organizzare le casseforti, ma non deve eliminare nulla.</td></tr><tr><td><code>--deny-open-world</code></td><td>Nasconde gli strumenti contrassegnati come in grado di raggiungere host o reti esterni. Nessuno strumento che il server espone oggi porta quel segno, quindi questa opzione non ha attualmente alcun effetto.</td><td>Il criterio lo richiede, quindi l’impostazione è già attiva se vengono aggiunti tali strumenti. Controlli che cosa nasconde con <code>devo mcp catalog</code>.</td></tr><tr><td><code>--deny-tool &#x3C;tool></code></td><td>Nasconde gli strumenti che nomina. La ripeta per più strumenti.</td><td>Uno strumento specifico non deve mai essere disponibile, come <code>RDM_resolve_secret_reference</code>.</td></tr><tr><td><code>--allow-tool &#x3C;tool></code></td><td>Mantiene <strong>solo</strong> gli strumenti che indica. La ripeta per più strumenti.</td><td>L’agente ha un solo compito e ha bisogno di due o tre strumenti.</td></tr></tbody></table>

{% hint style="warning" %}
`--deny-destructive` non nasconde ogni modifica. Concedere o revocare l’accesso a una cassaforte, aggiornare o spostare voci e creare casseforti non sono contrassegnati come distruttivi. Quando l’agente non deve modificare nulla, usi `--read-only`.
{% endhint %}

## Tenere i valori segreti fuori dal modello

Lo strumento `RDM_resolve_secret_reference` restituisce il valore di un segreto al client IA. Leggere un segreto non modifica la cassaforte, quindi questo strumento è contrassegnato come di sola lettura e `--read-only` lo conserva.

Per essere certi che nessun valore segreto raggiunga il modello, lo neghi per nome:

```bash
devo mcp --read-only --deny-tool RDM_resolve_secret_reference
```

Quando l’agente ha bisogno di una credenziale per eseguire uno strumento, gli faccia usare `devo secret run`. Il valore va solo a quello strumento. Consulti [Dare una credenziale a un agente senza esporla](/cli/it/guide/ai-agents/run-an-agent.md).

## Combinare opzioni

Può usare più opzioni insieme. Uno strumento viene esposto solo se rispetta ogni regola:

1. Uno strumento indicato in `--deny-tool` resta sempre nascosto, anche se lo indica anche in `--allow-tool`.
2. Quando usa `--allow-tool`, ogni strumento che non ha indicato resta nascosto.
3. `--read-only`, `--deny-destructive` e `--deny-open-world` si applicano poi a ciò che resta. `--allow-tool` non li sostituisce: uno strumento distruttivo che consente resta nascosto da `--deny-destructive`.

I nomi degli strumenti non distinguono maiuscole e minuscole. Per esempio, per lasciare che un agente cerchi voci e le legga, e nient’altro:

```bash
devo mcp --allow-tool RDM_search_entries --allow-tool RDM_get_entry
```

Nella configurazione del client, ogni opzione e ogni valore è un elemento distinto in `args`:

```json
{
  "mcpServers": {
    "devolutions": {
      "command": "devo",
      "args": ["mcp", "--read-only", "--deny-tool", "RDM_resolve_secret_reference"]
    }
  }
}
```

## Visualizzare in anteprima la sua configurazione

`devo mcp catalog` elenca gli strumenti senza avviare il server e accetta le stesse opzioni di restrizione:

```bash
devo mcp catalog --read-only --deny-tool RDM_resolve_secret_reference --json
```

Nel risultato, ogni strumento mostra `visible` (esposto con queste opzioni), `readOnly`, `destructive`, `openWorld` e `sensitive`. L’output di testo mostra solo i primi 25 strumenti esposti, quindi usi `--json` per vederli tutti.

{% hint style="info" %}
L’anteprima contrassegna sempre `RDM_resolve_secret_reference` come nascosto (`"sensitive": true`), perché tralascia gli strumenti che restituiscono valori di segreto. `devo mcp` avviato dal client IA lo espone, a meno che non lo neghi con `--deny-tool` o lo escluda da `--allow-tool`. Non si affidi all’anteprima per sapere se i valori di segreto possono raggiungere il modello: controlli le opzioni `--deny-tool` e `--allow-tool`.
{% endhint %}

## Buono a sapersi

* Le restrizioni si applicano all’avvio del server. Per cambiarle, modifichi la configurazione del client e riavvii il server dal client.
* Le restrizioni limitano gli strumenti MCP, non l’accesso. Il server agisce comunque con le autorizzazioni sullo spazio di lavoro. Per un agente che deve vedere meno, lo faccia accedere con un account o una chiave dell’applicazione che ha meno autorizzazioni, nel suo contesto. Consulti [Passare da uno spazio di lavoro all’altro](/cli/it/guide/connect/switch-workspaces.md).
* L’agente può sempre eseguire comandi `devo` in una shell se il client lo consente. Le restrizioni MCP non si applicano a quei comandi. Consulti [Dare una credenziale a un agente senza esporla](/cli/it/guide/ai-agents/run-an-agent.md).

## Successivo

* [Connect an AI client with MCP](/cli/it/guide/ai-agents/connect-mcp.md)
* [What stays hidden, and what doesn't](/cli/it/guide/understand/security-model.md)
* [Commands](/cli/it/riferimento/commands.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/it/guide/ai-agents/limit-tools.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
