DB MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_SSL | No | Enable SSL (default: true) | |
| DB_HOST | No | Database hostname (required unless using DB_SECRET_ARN) | |
| DB_NAME | No | Database name (required unless using DB_SECRET_ARN) | |
| DB_PORT | No | Database port (default: 5432 for PostgreSQL, 3306 for MySQL) | |
| DB_USER | No | Database username (required unless using DB_SECRET_ARN) | |
| DB_ENGINE | No | Database engine: 'postgresql' or 'mysql' (required unless using DB_SECRET_ARN) | |
| AWS_REGION | No | AWS region (required for AWS features) | |
| AWS_PROFILE | No | AWS credentials profile | |
| DB_PASSWORD | No | Database password (required unless using DB_SECRET_ARN) | |
| DB_SECRET_ARN | No | AWS Secrets Manager ARN (alternative to direct credentials) | |
| DB_WRITE_MODE | No | Write mode: 'disabled' (default), 'enabled', or 'auto' | |
| DB_DEFAULT_LIMIT | No | Default query row limit (default: 1000) | |
| AWS_ACCESS_KEY_ID | No | AWS access key | |
| AWS_SESSION_TOKEN | No | Session token (for temporary credentials) | |
| DB_DEFAULT_TIMEOUT | No | Default query timeout in ms (default: 30000) | |
| DB_IS_READ_REPLICA | No | Set to 'true' to block writes | |
| AWS_SECRET_ACCESS_KEY | No | AWS secret key |
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 |
|---|---|
| db_list_instancesA | List RDS database instances in the AWS account. Requires AWS credentials. Use this to discover available databases, their endpoints, and status. |
| db_test_connectionA | Test the database connection and return connection status, latency, and database version. |
| db_execute_queryA | Execute a read-only SQL query (SELECT, SHOW, DESCRIBE, EXPLAIN). Returns columns, rows, and execution metadata. |
| db_execute_writeB | Execute a write SQL query (INSERT or UPDATE only). DELETE is not allowed. Fails gracefully on read replicas. |
| db_get_schemaA | Get the full database schema including all tables, views, and their columns with data types and constraints. |
| db_get_tablesB | List all tables and views in the database. Can filter by schema name and object type. |
| db_get_columnsA | Get column details for a specific table including data types, nullable flags, and key constraints. |
| db_sample_dataA | Get sample rows from a table to understand its data structure and content. |
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 8 tools
Each tool targets a distinct operation: instance discovery, connectivity testing, read queries, write queries, and schema introspection. The schema-related tools (get_schema, get_tables, get_columns) have some overlap but their descriptions make the scope clear enough to avoid serious confusion.
Tool names consistently use a db_ prefix with snake_case and mostly follow a verb_noun pattern. The main deviation is db_sample_data, which lacks an explicit verb, and list vs get are used inconsistently (list_instances vs get_tables).
Eight tools is well-scoped for a database MCP server. Each tool serves a meaningful purpose without unnecessary redundancy or bloat.
The surface covers instance discovery, connection testing, schema inspection, data sampling, and both read and safe write operations. Minor gaps include lack of DELETE support, DDL/transactions, and explicit database selection tools, but these appear intentional or edge-case.