easy-pg-admin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PG_SSL | No | Use 'true', 'false', or 'no-verify'. | false |
| PG_HOST | No | PostgreSQL host when no connection string is provided. | |
| PG_PORT | No | PostgreSQL port. | 5432 |
| PG_USER | No | PostgreSQL admin role name when no connection string is provided. | |
| PG_DATABASE | No | Default database used for the admin connection when no connection string is provided. | |
| PG_PASSWORD | No | PostgreSQL password. | |
| PG_IDLE_TIMEOUT | No | Idle connection timeout in milliseconds. | 30000 |
| PG_CONNECTION_LIMIT | No | Maximum number of active pool connections. | 10 |
| PG_CONNECTION_STRING | No | PostgreSQL connection string. Takes precedence when provided. | |
| PG_ENABLE_KEEP_ALIVE | No | Whether TCP keep-alive is enabled. | true |
| PG_ADMIN_TOKEN_TTL_SECONDS | No | Confirmation token lifetime in seconds. | 120 |
| PG_KEEP_ALIVE_INITIAL_DELAY | No | Initial TCP keep-alive delay in milliseconds. | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pg_list_databasesA | List databases in the current PostgreSQL instance. |
| pg_create_databaseD | Create a PostgreSQL database. |
| pg_describe_databaseC | Inspect a PostgreSQL database definition. |
| pg_alter_database_ownerC | Change the owner of a PostgreSQL database. |
| pg_drop_databaseC | Request database deletion and return a short-lived confirmation token. |
| pg_list_rolesC | List PostgreSQL roles. |
| pg_create_roleC | Create a PostgreSQL role. SUPERUSER is intentionally not supported. |
| pg_alter_role_passwordC | Change a PostgreSQL role password. |
| pg_alter_role_attributesC | Change PostgreSQL role attributes. SUPERUSER is intentionally not supported. |
| pg_drop_roleC | Request role deletion and return a short-lived confirmation token. |
| pg_grant_roleC | Grant a PostgreSQL role to another role. |
| pg_revoke_roleC | Revoke a PostgreSQL role from another role. |
| pg_show_role_membershipsC | Show memberships for a PostgreSQL role. |
| pg_grant_privilegesC | Grant database-level PostgreSQL privileges to a role. |
| pg_revoke_privilegesC | Revoke database-level PostgreSQL privileges from a role. |
| pg_show_grantsB | Show database-level PostgreSQL grants for a role. |
| pg_confirm_taskC | Confirm and execute a previously issued destructive action token. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a distinct action on either databases or roles, with clear descriptions that prevent overlap. For example, pg_grant_privileges and pg_grant_role are explicitly different operations.
All tools follow the consistent pattern 'pg_verb_noun' (e.g., pg_create_database, pg_drop_role). The naming is uniform and predictable.
With 17 tools covering database and role CRUD, grants, and listings, the count matches the domain well. Each tool serves a specific purpose without unnecessary overlap.
The set covers essential PostgreSQL admin tasks: create, drop (with confirmation), list, alter, and grant/revoke for both databases and roles. Minor gaps like renaming or altering database properties other than owner are absent but acceptable for an 'easy' admin tool.