PostgreSQL MCP Server

generic

Come funziona

Quando colleghi questo connettore a un agente, l’agente non impara gli strumenti a memoria: se li fa dire, e li usa quando servono. Per questo un connettore aggiornato porta strumenti nuovi senza che l’agente vada rifatto.

Durante una conversazione il giro e’ sempre lo stesso: l’agente capisce dalla tua richiesta quale strumento serve e con quali valori usarlo, il gateway lo esegue e restituisce il risultato, e l’agente te lo racconta a parole. Chi compie l’operazione resti tu: l’accesso avviene con credenziali verificate, cosi’ il connettore puo’ distinguere cosa e’ permesso a te da cosa e’ permesso a un altro.

Il giro completo, con questo connettore

  1. Chiedi all’agente qualcosa che ha bisogno di PostgreSQL MCP Server — per esempio una delle richieste qui sopra.
  2. L’agente si fa dare l’elenco degli strumenti e vi trova, fra gli altri, pg_analyze_databasepg_debug_databasepg_manage_schema.
  3. Sceglie quello adatto e lo esegue, riempiendo i valori con quello che gli hai detto (o chiedendoteli, se gli mancano):
    {
      "tool": "pg_debug_database",
      "parameters": {
        "issue": "<string>"
      }
    }
  4. Il gateway esegue lo strumento e restituisce il risultato: l’agente non te lo mostra grezzo, te lo racconta — e se serve incatena piu’ strumenti di fila per arrivare a quello che hai chiesto.

Gli strumenti di questo connettore

18 strumenti. Non li chiami tu: li sceglie l’agente in base a quello che gli chiedi. Servono a farti capire cosa puoi aspettarti e quali informazioni ti verranno chieste. L’elenco effettivo puo’ variare con la configurazione del collegamento.

pg_analyze_database

Analyze PostgreSQL database configuration and performance

Puo’ usare: connectionString analysisType

La chiamata che parte
{
  "tool": "pg_analyze_database",
  "parameters": {
    "connectionString": "<string>",
    "analysisType": "<string>"
  }
}
pg_debug_database

Debug common PostgreSQL issues

Gli serve: issuestring

Puo’ usare: connectionString logLevel

La chiamata che parte
{
  "tool": "pg_debug_database",
  "parameters": {
    "issue": "<string>"
  }
}
pg_manage_schema

Manage PostgreSQL schema - get schema info, create/alter tables, manage enums. Examples: operation="get_info" for table lists, operation="create_table" with tableName and columns, operation="get_enums" to list enums, operation="create_enum" with enumName and values

Gli serve: operationstring

Puo’ usare: connectionString tableName schema columns operations enumName values ifNotExists

La chiamata che parte
{
  "tool": "pg_manage_schema",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_functions

Manage PostgreSQL functions - get, create, or drop functions with a single tool. Examples: operation="get" to list functions, operation="create" with functionName="test_func", parameters="" (empty for no params), returnType="TEXT", functionBody="SELECT 'Hello'"

Gli serve: operationstring

Puo’ usare: connectionString functionName schema parameters returnType functionBody language volatility security replace +2

La chiamata che parte
{
  "tool": "pg_manage_functions",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_triggers

Manage PostgreSQL triggers - get, create, drop, and enable/disable triggers. Examples: operation="get" to list triggers, operation="create" with triggerName, tableName, functionName, operation="drop" with triggerName and tableName, operation="set_state" with triggerName, tableName, enable

Gli serve: operationstring

Puo’ usare: connectionString schema tableName triggerName functionName timing events forEach when replace +3

La chiamata che parte
{
  "tool": "pg_manage_triggers",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_indexes

Manage PostgreSQL indexes - get, create, drop, reindex, and analyze usage with a single tool. Examples: operation="get" to list indexes, operation="create" with indexName, tableName, columns, operation="analyze_usage" for performance analysis

Gli serve: operationstring

Puo’ usare: connectionString schema tableName indexName includeStats columns unique concurrent method where +8

La chiamata che parte
{
  "tool": "pg_manage_indexes",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_constraints

Manage PostgreSQL constraints - get, create foreign keys, drop foreign keys, create constraints, drop constraints. Examples: operation="get" to list constraints, operation="create_fk" with constraintName, tableName, columnNames, referencedTable, referencedColumns

Gli serve: operationstring

Puo’ usare: connectionString schema constraintName tableName constraintType columnNames referencedTable referencedColumns referencedSchema onUpdate +7

La chiamata che parte
{
  "tool": "pg_manage_constraints",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_rls

Manage PostgreSQL Row-Level Security - enable/disable RLS and manage policies. Examples: operation="enable" with tableName="users", operation="create_policy" with tableName, policyName, using, check

Gli serve: operationstring

Puo’ usare: connectionString tableName schema policyName using check command role replace roles +1

La chiamata che parte
{
  "tool": "pg_manage_rls",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_users

Manage PostgreSQL users and permissions - create, drop, alter users, grant/revoke permissions. Examples: operation="create" with username="testuser", operation="grant" with username, permissions, target, targetType

Gli serve: operationstring

Puo’ usare: connectionString username password superuser createdb createrole login replication connectionLimit validUntil +9

La chiamata che parte
{
  "tool": "pg_manage_users",
  "parameters": {
    "operation": "<string>"
  }
}
pg_manage_query

Manage PostgreSQL query analysis and performance - operation="explain" for EXPLAIN plans, operation="get_slow_queries" for slow query analysis, operation="get_stats" for query statistics, operation="reset_stats" for clearing statistics

Gli serve: operationstring

Puo’ usare: connectionString query analyze buffers verbose costs format limit minDuration orderBy +4

La chiamata che parte
{
  "tool": "pg_manage_query",
  "parameters": {
    "operation": "<string>"
  }
}
pg_execute_query

Execute SELECT queries and data retrieval operations - operation="select/count/exists" with query and optional parameters. Examples: operation="select", query="SELECT * FROM users WHERE created_at > $1", parameters=["2024-01-01"]

Gli serve: operationstring querystring

Puo’ usare: connectionString parameters limit timeout

La chiamata che parte
{
  "tool": "pg_execute_query",
  "parameters": {
    "operation": "<string>",
    "query": "<string>"
  }
}
pg_execute_mutation

Execute data modification operations (INSERT/UPDATE/DELETE/UPSERT) - operation="insert/update/delete/upsert" with table and data. Examples: operation="insert", table="users", data={"name":"John","email":"john@example.com"}

Gli serve: operationstring tablestring

Puo’ usare: connectionString data where conflictColumns returning schema

La chiamata che parte
{
  "tool": "pg_execute_mutation",
  "parameters": {
    "operation": "<string>",
    "table": "<string>"
  }
}
pg_execute_sql

Execute arbitrary SQL statements - sql="ANY_VALID_SQL" with optional parameters and transaction support. Examples: sql="CREATE INDEX ...", sql="WITH complex_cte AS (...) SELECT ...", transactional=true

Gli serve: sqlstring

Puo’ usare: connectionString parameters expectRows timeout transactional

La chiamata che parte
{
  "tool": "pg_execute_sql",
  "parameters": {
    "sql": "<string>"
  }
}
pg_manage_comments

Manage PostgreSQL object comments - get, set, remove comments on tables, columns, functions, and other database objects. Examples: operation="get" with objectType="table", objectName="users", operation="set" with comment text, operation="bulk_get" for discovery

Gli serve: operationstring

Puo’ usare: connectionString objectType objectName schema columnName comment includeSystemObjects filterObjectType

La chiamata che parte
{
  "tool": "pg_manage_comments",
  "parameters": {
    "operation": "<string>"
  }
}
pg_export_table_data

Export table data to JSON or CSV format

Gli serve: tableNamestring outputPathstring

Puo’ usare: connectionString where limit format

La chiamata che parte
{
  "tool": "pg_export_table_data",
  "parameters": {
    "tableName": "<string>",
    "outputPath": "<string>"
  }
}
pg_import_table_data

Import data from JSON or CSV file into a table

Gli serve: tableNamestring inputPathstring

Puo’ usare: connectionString truncateFirst format delimiter

La chiamata che parte
{
  "tool": "pg_import_table_data",
  "parameters": {
    "tableName": "<string>",
    "inputPath": "<string>"
  }
}
pg_copy_between_databases

Copy data between two databases

Gli serve: sourceConnectionStringstring targetConnectionStringstring tableNamestring

Puo’ usare: where truncateTarget

La chiamata che parte
{
  "tool": "pg_copy_between_databases",
  "parameters": {
    "sourceConnectionString": "<string>",
    "targetConnectionString": "<string>",
    "tableName": "<string>"
  }
}
pg_monitor_database

Get real-time monitoring information for a PostgreSQL database

Puo’ usare: connectionString includeTables includeQueries includeLocks includeReplication alertThresholds

La chiamata che parte
{
  "tool": "pg_monitor_database",
  "parameters": {
    "connectionString": "<string>",
    "includeTables": "<boolean>",
    "includeQueries": "<boolean>"
  }
}

Elenco rilevato il 11/08/2026.

Guida all'uso del connettore MCP «PostgreSQL MCP Server» su AIsuru. Tutti i connettori.