DB MCP Server
Allows retrieving database credentials from AWS Secrets Manager to securely connect to databases.
Provides tools for executing SQL queries, exploring schemas, and managing data in MySQL databases.
Provides tools for executing SQL queries, exploring schemas, and managing data in PostgreSQL databases.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DB MCP Servershow me the columns in the orders table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DB MCP Server
A Model Context Protocol (MCP) server for database operations. Execute queries, introspect schemas, and manage data for PostgreSQL and MySQL databases. Works with local databases, SSH tunnels, AWS RDS, RDS Proxy, and any compatible database.
Features
db_list_instances - List RDS database instances (requires AWS credentials)
db_test_connection - Test database connectivity and get version info
db_execute_query - Execute read-only SQL queries (SELECT, SHOW, DESCRIBE, EXPLAIN)
db_execute_write - Execute write queries (INSERT/UPDATE only, DELETE blocked)
db_get_schema - Get full database schema with tables, views, and columns
db_get_tables - List tables and views with filtering options
db_get_columns - Get column details for a specific table
db_sample_data - Get sample rows from a table
Related MCP server: MCP MySQL Server
Installation
Using npx (Recommended)
No installation required. Add directly to your config:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "postgres",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql"
}
}
}
}Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "postgres",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql"
}
}
}
}Manual Installation
# Clone the repository
git clone https://github.com/nikhilchintawar/db-mcp.git
cd db-mcp
# Install dependencies
npm install
# Build
npm run buildThen add to your config:
{
"mcpServers": {
"db": {
"command": "node",
"args": ["/absolute/path/to/db-mcp/build/index.js"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "postgres",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql"
}
}
}
}Configuration Examples
Local Database
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "postgres",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql",
"DB_SSL": "false"
}
}
}
}SSH Tunnel
First, establish your SSH tunnel:
ssh -L 5432:rds-endpoint.amazonaws.com:5432 bastion-hostThen configure:
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "admin",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql"
}
}
}
}AWS RDS / RDS Proxy
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"DB_HOST": "my-proxy.proxy-xxxx.us-east-1.rds.amazonaws.com",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "admin",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql"
}
}
}
}AWS RDS with Temporary Credentials (Read Replica)
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"AWS_REGION": "eu-west-1",
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key",
"AWS_SESSION_TOKEN": "your-session-token",
"DB_HOST": "my-proxy-readonly.proxy-xxxx.eu-west-1.rds.amazonaws.com",
"DB_PORT": "5432",
"DB_NAME": "mydb",
"DB_USER": "admin",
"DB_PASSWORD": "password",
"DB_ENGINE": "postgresql",
"DB_IS_READ_REPLICA": "true",
"DB_WRITE_MODE": "disabled"
}
}
}
}AWS Secrets Manager
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "github:nikhilchintawar/db-mcp"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "your-profile",
"DB_SECRET_ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mydb-AbCdEf"
}
}
}
}Configuration
Config File Locations
Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.jsonClaude Code:
~/.claude/settings.json
Environment Variables
Variable | Required | Description |
| Yes* | Database hostname |
| No | Database port (default: 5432 for PostgreSQL, 3306 for MySQL) |
| Yes* | Database name |
| Yes* | Database username |
| Yes* | Database password |
| Yes* |
|
| No | Enable SSL (default: true) |
| No | AWS Secrets Manager ARN (alternative to direct credentials) |
| No |
|
| No | Set to |
| No | Default query row limit (default: 1000) |
| No | Default query timeout in ms (default: 30000) |
*Required unless using DB_SECRET_ARN
AWS Configuration (Optional)
AWS credentials are only needed if using:
DB_SECRET_ARN(Secrets Manager)db_list_instancestool (RDS API)
Variable | Description |
| AWS region (required for AWS features) |
| AWS credentials profile |
| AWS access key |
| AWS secret key |
| Session token (for temporary credentials) |
Usage Examples
Once configured, you can use natural language to interact with your database:
"Show me the database schema"
"List all tables"
"Get sample data from the users table"
"Run a query to find all orders from last week"
"Insert a new record into the settings table"
"Show me the columns in the products table"
Available Tools
db_list_instances
List RDS database instances (requires AWS credentials).
Parameter | Required | Description |
| No | Filter by instance identifier |
| No | Filter by engine (postgres, mysql) |
db_test_connection
Test database connection and return status, latency, and version.
Parameter | Required | Description |
(none) | - | Uses configured connection |
db_execute_query
Execute read-only SQL queries.
Parameter | Required | Description |
| Yes | SELECT, SHOW, DESCRIBE, or EXPLAIN query |
| No | Max rows (default: 1000, max: 10000) |
| No | Query timeout in ms (default: 30000) |
db_execute_write
Execute write operations (INSERT/UPDATE only).
Parameter | Required | Description |
| Yes | INSERT or UPDATE query |
| No | Query timeout in ms (default: 30000) |
Note: DELETE, DROP, TRUNCATE, and ALTER are blocked. Fails gracefully on read replicas.
db_get_schema
Get full database schema including tables, views, and columns.
Parameter | Required | Description |
| No | Filter by schema (e.g., "public") |
db_get_tables
List tables and views.
Parameter | Required | Description |
| No | Filter by schema |
| No |
|
db_get_columns
Get column details for a specific table.
Parameter | Required | Description |
| Yes | Table name |
| No | Schema name |
db_sample_data
Get sample rows from a table.
Parameter | Required | Description |
| Yes | Table name |
| No | Schema name |
| No | Number of rows (default: 10, max: 100) |
Write Protection
The server includes multiple safety mechanisms:
Mode | Behavior |
| Blocks all write operations |
| Allows INSERT/UPDATE on any instance |
| Allows INSERT/UPDATE except on read replicas |
Always blocked: DELETE, DROP, TRUNCATE, ALTER, CREATE, GRANT, REVOKE
Read replica detection works via:
DB_IS_READ_REPLICA=trueenvironment variableAutomatic detection via RDS API (requires
DB_RDS_INSTANCE_IDENTIFIERand AWS credentials)
Development
# Watch mode for development
npm run dev
# Build for production
npm run build
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node build/index.jsLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nikhilchintawar/db-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server