Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAX_ROWS | No | Maximum rows returned | 1000 |
| POSTGRES_DB | Yes | Database name | postgres |
| POSTGRES_HOST | Yes | Database host | localhost |
| POSTGRES_PORT | No | Database port | 5432 |
| POSTGRES_USER | Yes | Database user | postgres |
| QUERY_TIMEOUT | No | Query timeout (seconds) | 30 |
| POSTGRES_SSLMODE | No | SSL mode | prefer |
| POSTGRES_PASSWORD | Yes | Database password | |
| ALLOW_WRITE_OPERATIONS | No | Enable write operations | false |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| query | Execute a SQL query against the PostgreSQL database. This tool is READ-ONLY by default. Use the 'execute' tool for write operations.
Args:
sql: SQL query to execute (SELECT statements only)
Returns:
Query results with rows, columns, and metadata |
| execute | Execute a write SQL statement (INSERT, UPDATE, DELETE). WARNING: This tool modifies data. Use with caution.
Only available if ALLOW_WRITE_OPERATIONS=true is set.
Args:
sql: SQL statement to execute
Returns:
Execution result with affected row count |
| explain_query | Get the execution plan for a SQL query (EXPLAIN). Args:
sql: SQL query to explain
analyze: If true, actually runs the query to get real execution stats
(EXPLAIN ANALYZE). Use with caution on slow queries.
Returns:
Execution plan in JSON format with cost estimates |
| list_schemas | List all schemas in the PostgreSQL database. Returns:
List of schemas with name and owner |
| list_tables | List all tables in a specific schema. Args:
schema: Schema name to list tables from (default: public)
Returns:
List of tables with name and type |
| describe_table | Describe the structure of a table including columns, types, and constraints. Args:
table_name: Name of the table to describe
schema: Schema name (default: public)
Returns:
Table structure with columns, primary keys, and foreign keys |
| table_stats | Get statistics for a table (row count, size, bloat). Args:
table_name: Name of the table
schema: Schema name (default: public)
Returns:
Table statistics including row count, sizes, and vacuum info |
| list_indexes | List all indexes for a table. Args:
table_name: Name of the table
schema: Schema name (default: public)
Returns:
List of indexes with name, columns, type, and size |
| list_constraints | List all constraints for a table (PK, FK, UNIQUE, CHECK). Args:
table_name: Name of the table
schema: Schema name (default: public)
Returns:
List of constraints with type, columns, and references |
| list_views | List all views in a schema. Args:
schema: Schema name (default: public)
Returns:
List of views with name |
| describe_view | Get the definition and columns of a view. Args:
view_name: Name of the view
schema: Schema name (default: public)
Returns:
View definition SQL and column list |
| list_functions | List all functions and procedures in a schema. Args:
schema: Schema name (default: public)
Returns:
List of functions with name, arguments, and return type |
| get_database_info | Get database and connection information. Returns:
Database version, connection info, and settings |
| search_columns | Search for columns by name across all tables. Args:
search_term: Column name pattern to search (case-insensitive)
schema: Optional schema to limit search (default: all user schemas)
Returns:
List of matching columns with table information |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| explore_database | Explore the database structure and understand the schema. Returns: Prompt for exploring the database |
| query_builder | Help build SQL queries for a specific table. Args: table_name: Table to query Returns: Prompt for building queries |
| performance_analysis | Analyze table performance and suggest optimizations. Args: table_name: Table to analyze Returns: Prompt for performance analysis |
| data_dictionary | Generate a data dictionary for a schema. Args: schema: Schema to document Returns: Prompt for generating data dictionary |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_schemas | List all schemas in the database. Returns a summary of schemas for browsing. |
| resource_database | Get database information. |