> 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/7.-postgresql-mcp-server.md).

# 7. PostgreSQL MCP Server

PostgreSQL MCP Server consente al tuo Agente di connettersi a database PostgreSQL ed eseguire operazioni di lettura e scrittura.

## **Cosa fa?**

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

* **Leggere dati** - Poni domande come *"Quanti clienti abbiamo?"* e ottieni una risposta reale estratta direttamente dal database dell'utente;
* **Scrivere o aggiornare dati** - Aggiungi nuovi record, aggiorna quelli esistenti o apporta modifiche. Tutto tramite una semplice conversazione;
* **Cercare e filtrare** - Trova rapidamente informazioni specifiche senza dover consultare manualmente fogli di calcolo o report;
* **Analizzare informazioni** - Ottieni riepiloghi, conteggi o approfondimenti dai tuoi dati in linguaggio naturale.

## Parametri di configurazione <a href="#f09f939d-parametri-1" id="f09f939d-parametri-1"></a>

| Parametro                 | Obbligatorio | Descrizione                                                                             | Predefinito  | Valori possibili                                                   |
| ------------------------- | ------------ | --------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------ |
| `connection_string`       | Sì           | URI di connessione PostgreSQL (ad es., `postgresql://user:password@host:port/database`) | -            | Qualsiasi URI postgresql                                           |
| `Access Mode`             | No           | Modalità di accesso al database                                                         | `read-write` | `read-write`,`read-only`                                           |
| `SSL Mode`                | No           | Modalità SSL per la connessione                                                         | `prefer`     | `disable`, `allow`, `prefer`, `require`, `verify-ca`,`verify-full` |
| `SSL Cert Path`           | No           | Percorso del certificato client SSL (ad es., `/path/to/client-cert.pem`)                | -            | Qualsiasi percorso                                                 |
| `SSL Key Path`            | No           | Percorso della chiave privata SSL (ad es., `/path/to/client-key.pem`)                   | -            | Qualsiasi percorso                                                 |
| `SSL Ca Path`             | No           | Percorso del certificato CA (ad es., `/path/to/ca-cert.pem`)                            | -            | Qualsiasi percorso                                                 |
| `SSL Reject Unauthorized` | No           | Rifiuta le connessioni con certificati non validi                                       | `true`       | `true`,`false`                                                     |

### Parametri personalizzati

* **poolSize**: numero totale di connessioni nel pool;
* **connectionTimeout**: tempo massimo per stabilire una connessione (secondi);
* **idleTimeout**: tempo massimo di inattività delle connessioni (secondi);
* **queryTimeout**: tempo massimo per eseguire una query (secondi);
* **statementTimeout**: tempo massimo per un'istruzione SQL (ms);
* **applicationName**: nome identificativo dell'applicazione.

```json
{
  "poolSize": 20,
  "connectionTimeout": 30,
  "idleTimeout": 60,
  "queryTimeout": 60,
  "statementTimeout": 60000,
  "applicationName": "aisuru_mcp"
}
```

## Come ottenere i parametri

1. **Dopo la registrazione**, crea un nuovo progetto;
2. Vai a **Settings** (icona a ingranaggio) → **Database;**
3. Copia la **Connection string** in formato URI:

   ```
   postgresql://postgres:[YOUR-PASSWORD]@db.xxxxx.supabase.co:5432/postgres
   ```
4. **Modalità SSL**: usa `require` (Supabase richiede SSL).

**Nota su Supabase Connection Pooler**:

* **Porta 5432**: connessione diretta (per transazioni e operazioni complesse);
* **Porta 6543**: pooler di connessioni (per applicazioni con molte connessioni simultanee).
