> For the complete documentation index, see [llms.txt](https://docs.aisuru.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aisuru.com/avanzate/integrazioni/model-context-protocol-mcp-su-aisuru/mcp-di-aisuru-quali-sono-e-come-si-attivano/19.-mysql-mcp-server.md).

# 19. MySQL MCP Server

MySQL è un database. Può archiviare ogni tipo di informazione, come elenchi di clienti, ordini e dettagli sui prodotti.\
Può anche ispezionare lo schema\*, eseguire query e abilitare facoltativamente le operazioni di scrittura.

## Cosa può fare

Questo MCP funge da **ponte** tra un Agente e il tuo database MySQL. Consente all'Agente di:

* **Leggere i dati**: porre domande come *"Quanti clienti abbiamo?"* e ottenere una risposta reale estratta direttamente dal database dell'utente;
* **Scrivere o aggiornare i dati**: aggiungere nuovi record, aggiornare quelli esistenti o apportare modifiche. Tutto tramite una semplice conversazione;
* **Cercare e filtrare**: trovare rapidamente informazioni specifiche senza dover esaminare manualmente fogli di calcolo o report;
* **Analizzare le informazioni**: ottenere riepiloghi, conteggi o approfondimenti dai tuoi dati in linguaggio semplice;
* **Leggere lo schema** e i dati, eseguire query SQL;
* **Eseguire INSERT/UPDATE/DELETE/DDL**: solo se le autorizzazioni correlate sono abilitate.

### **Il mio database è sicuro?**

Questo MCP è **configurato**, ovvero è impostato con regole specifiche su ciò a cui può e non può accedere. Ciò significa che può accedere solo alle parti del database a cui deve accedere, mantenendo tutto il resto al sicuro.

### **Chi può trarne vantaggio?**

* **Titolari d'azienda** che desiderano risposte rapide dai propri dati senza aspettare uno sviluppatore;
* **Membri del team** che devono cercare o aggiornare informazioni ma non hanno conoscenze tecniche;
* **Chiunque** desideri interagire con un database con la stessa facilità di una conversazione.

## Parametri di configurazione

1. Crea un utente MySQL dedicato con i privilegi minimi necessari;
2. Raccogli host, porta, utente, password e nome del database;
3. Abilita le operazioni di scrittura solo se necessario.

| Parametro                | Obbligatorio | Descrizione                                                                                           |
| ------------------------ | ------------ | ----------------------------------------------------------------------------------------------------- |
| `MYSQL_HOST`             | Sì           | Nome host o IP del server MySQL (deve essere raggiungibile da AIsuru).                                |
| `MYSQL_PORT`             | No           | Porta MySQL (predefinita: `3306`).                                                                    |
| `MYSQL_USER`             | Sì           | Utente MySQL da usare per la connessione.                                                             |
| `MYSQL_PASS`             | Sì           | Password dell'utente MySQL.                                                                           |
| `MYSQL_DB`               | Sì           | Nome del database da usare.                                                                           |
| `ALLOW_INSERT_OPERATION` | No           | `true`/`false`. Consente operazioni `INSERT`. Predefinito: `false` (sola lettura).                    |
| `ALLOW_UPDATE_OPERATION` | No           | `true`/`false`. Consente operazioni `UPDATE`. Predefinito: `false`.                                   |
| `ALLOW_DELETE_OPERATION` | No           | `true`/`false`. Consente operazioni `DELETE`. Predefinito: `false`.                                   |
| `ALLOW_DDL_OPERATION`    | No           | `true`/`false`. Consente operazioni strutturali (`CREATE TABLE`, `DROP`, ecc.). Predefinito: `false`. |

### Parametri personalizzati

Non sono necessari parametri aggiuntivi.

{% hint style="warning" %}
Mantieni disattivate le operazioni di scrittura finché non sei sicuro: in questo modo l'Agente può solo leggere.
{% endhint %}
