> 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/powershell-universal/it/intelligence/built-in-mcp-tools.md).

# Strumenti MCP integrati

Utilizzi gli strumenti MCP integrati di PowerShell Universal per ispezionare e gestire risorse, file del repository, notifiche, processi e controlli del portale.

PowerShell Universal include strumenti MCP integrati su `/api/v1/mcp`. Aiutano i client MCP a ispezionare il repository di configurazione di PowerShell Universal, individuare i cmdlet, leggere l'output dei processi e le notifiche e applicare le modifiche supportate al repository.

Gli strumenti integrati sono distinti dagli strumenti AI personalizzati. Colleghi un client MCP a `/api/v1/mcp` e si autentichi con un token applicativo di PowerShell Universal.

## Connettersi da Visual Studio Code

GitHub Copilot può richiamare gli strumenti integrati quando Visual Studio Code è connesso al server MCP di PowerShell Universal.

Prema `Ctrl+Shift+P`, esegua **MCP: Add Server...**, selezioni **HTTP** e inserisca l'URL dell'endpoint MCP. Per impostazione predefinita, l'URL è `http://localhost:5000/api/v1/mcp`.

La configurazione `settings.json` risultante è simile alla seguente:

```json
"mcp": {
  "servers": {
    "PSU": {
      "url": "http://localhost:5000/api/v1/mcp"
    }
  }
}
```

Per autenticarsi con un token applicativo di PowerShell Universal, lo includa come bearer token nell'intestazione `Authorization`:

```json
"mcp": {
  "servers": {
    "PSU": {
      "url": "http://localhost:5000/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <your-app-token>"
      }
    }
  }
}
```

Sostituisca `<your-app-token>` con un token per l'utente e i ruoli di PowerShell Universal che il client deve utilizzare. Non esegua il commit di una configurazione contenente un token applicativo reale nel controllo del codice sorgente.

Se la connessione riesce, GitHub Copilot visualizza gli strumenti di PowerShell Universal disponibili.

## Controllo degli accessi

La maggior parte degli strumenti integrati richiede il ruolo **Administrator** o **Operator**. `search_ant_design_controls` supporta anche il ruolo **App Editor**. `get_job_output_by_id` richiede un utente autenticato e verifica che tale utente disponga dell'autorizzazione per leggere il processo richiesto o la relativa autorizzazione di lettura configurata.

Utilizzi un token applicativo dedicato con il solo ruolo richiesto dal client MCP. Gli strumenti di scrittura del repository possono creare, aggiornare, spostare ed eliminare file di configurazione, quindi non conceda l'accesso Administrator o Operator a un client MCP non attendibile.

## Flusso tipico

1. Richiami `list_resource_types` e `list_resources` per identificare la risorsa di configurazione.
2. Utilizzi gli strumenti del repository e dei comandi per ispezionare i file e i cmdlet pertinenti.
3. Applichi una modifica deliberata al repository con uno strumento di scrittura quando autorizzato.
4. Richiami `reload_resource` per ricaricare la risorsa interessata.
5. Utilizzi `get_notifications` o `get_job_output_by_id` per verificare il risultato.

## Strumenti per risorse e comandi

| Strumento             | Descrizione                                                                      |
| --------------------- | -------------------------------------------------------------------------------- |
| `list_resource_types` | Elenca i tipi di risorsa di PowerShell Universal disponibili.                    |
| `list_resources`      | Elenca le risorse di un tipo selezionato, con filtro tramite caratteri jolly.    |
| `reload_resource`     | Ricarica un tipo di risorsa selezionato dopo una modifica della configurazione.  |
| `list_commands`       | Elenca i comandi di un modulo PowerShell.                                        |
| `command_help`        | Restituisce la guida mirata o completa per un comando, i parametri e gli esempi. |
| `list_app_commands`   | Elenca i cmdlet per lo sviluppo di Universal App.                                |

## Strumenti per repository e operazioni

### Strumenti per il repository

I seguenti strumenti ispezionano e gestiscono file e directory relativi al repository:

| Strumento                 | Descrizione                                         |
| ------------------------- | --------------------------------------------------- |
| `list_files`              | Elenca file e directory.                            |
| `search_files`            | Cerca nomi di file e directory.                     |
| `search_file_content`     | Cerca nei contenuti dei file del repository.        |
| `get_file_content`        | Legge un file del repository.                       |
| `set_file_content`        | Sostituisce il contenuto di un file del repository. |
| `new_file_system_item`    | Crea un file o una directory nel repository.        |
| `move_file_system_item`   | Sposta o rinomina un elemento del repository.       |
| `delete_file_system_item` | Elimina un elemento del repository.                 |

Tutti i percorsi sono relativi al repository. Utilizzi gli strumenti di individuazione prima di modificare un file e richiami `reload_resource` dopo una modifica autorizzata della configurazione.

### Strumenti operativi

| Strumento                    | Descrizione                                                                                                              |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `get_notifications`          | Restituisce le notifiche recenti, facoltativamente filtrate per stato di lettura, livello, ora o cursore.                |
| `get_job_output_by_id`       | Restituisce l'output della pipeline o del flusso del processo quando il chiamante è autorizzato a leggere tale processo. |
| `search_ant_design_controls` | Cerca i controlli del portale Ant Design e PSBlazor disponibili e ne restituisce i parametri.                            |

## Limiti degli strumenti e destinazioni di esecuzione

PowerShell Universal supporta una limitazione facoltativa della frequenza degli strumenti MCP al minuto e un limite facoltativo di processi simultanei per i processi degli strumenti AI. Configuri questi limiti nelle impostazioni del server per proteggere l'istanza da un'attività eccessiva degli strumenti.

Gli strumenti AI personalizzati possono anche definire le destinazioni **Run In** e **Run On**. Queste impostazioni controllano l'ambiente e il computer o il gruppo di computer utilizzati quando uno strumento personalizzato avvia un processo. Non modificano i requisiti di autorizzazione degli strumenti MCP integrati elencati in questa pagina.

## Esempi

Utilizzi l'individuazione delle risorse prima di modificare la configurazione:

```
list_resource_types
list_resources(type: "scripts", filter: "Inventory*")
get_file_content(path: "scripts/Inventory.ps1")
```

Dopo un aggiornamento autorizzato, ricarichi e ispezioni le notifiche:

```
set_file_content(path: "scripts/Inventory.ps1", content: "<new script content>")
reload_resource(resourceType: "scripts")
get_notifications(unreadOnly: true, levels: "Warning,Error")
```


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/it/intelligence/built-in-mcp-tools.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
