AWS Aurora PostgreSQL MCP Server
663
MCP server wrapper for AWS PostgreSQL MCP — connect to Amazon Aurora PostgreSQL or RDS PostgreSQL databases, inspect schemas, and run read-only SQL queries through natural language.
The AWS PostgreSQL MCP server (awslabs.postgres-mcp-server) acts as an intelligent bridge between an LLM and an Amazon Aurora PostgreSQL or RDS PostgreSQL instance. It introspects table schemas, translates natural-language questions into SQL, and returns query results — enabling conversational data exploration without writing SQL manually. See awslabs/mcp for full documentation.
AWS credentials required — set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_REGION. A database connection string or endpoint must also be configured.
| Tool | Description |
|---|---|
run_query | Run Query |
get_table_schema | Get Table Schema |
connect_to_database | Connect To Database |
is_database_connected | Is Database Connected |
get_database_connection_info | Get Database Connection Info |
create_cluster | Create Cluster |
get_job_status | Get Job Status |
Here are example prompts you can use with Claude (or any MCP client) when this tool is connected:
docker-compose up -d
docker run -i --rm \
-e AWS_REGION \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
hackerdogs/aws-postgres-mcp:latest
docker run -d -p 8619:8619 \
-e MCP_TRANSPORT=streamable-http \
-e MCP_PORT=8619 \
-e AWS_REGION \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
hackerdogs/aws-postgres-mcp:latest
Add to your Claude Desktop or Cursor MCP config:
{
"mcpServers": {
"aws-postgres-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"AWS_REGION",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"hackerdogs/aws-postgres-mcp:latest"
],
"env": {
"MCP_TRANSPORT": "stdio",
"AWS_REGION": "",
"AWS_ACCESS_KEY_ID": "",
"AWS_SECRET_ACCESS_KEY": ""
}
}
}
}
First, start the server using Docker Compose or docker run with HTTP mode (see Deploy above), then point your MCP client at the running server:
{
"mcpServers": {
"aws-postgres-mcp": {
"url": "http://localhost:8619/mcp"
}
}
}
When to use HTTP mode: HTTP mode is ideal for shared/remote deployments, multi-user setups, and Hackerdogs scheduled prompts. The server runs as a long-lived process and accepts connections from multiple MCP clients concurrently.
| Variable | Default | Description |
|---|---|---|
MCP_TRANSPORT | stdio | Transport mode: stdio or streamable-http |
AWS_REGION | — | AWS region (e.g. us-east-1) |
AWS_ACCESS_KEY_ID | — | AWS access key ID |
AWS_SECRET_ACCESS_KEY | — | AWS secret access key |
MCP_PORT | 8619 | HTTP port (only used with streamable-http) |
The fastest way to get started is through Hackerdogs:
Give it a couple of minutes to go live. Then start querying by asking Hackerdogs to use the tool explicitly. If you don't specify, Hackerdogs will automatically choose the best tool for the job.
Want to contribute or chat with the team? Join our Discord.
docker build -t hackerdogs/aws-postgres-mcp:latest .
./test.sh
1. Start the server in HTTP mode:
docker run -d --rm --name aws-postgres-mcp-test -p 8619:8619 \
-e MCP_TRANSPORT=streamable-http \
-e AWS_REGION \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
hackerdogs/aws-postgres-mcp:latest
2. Initialize the MCP session:
SESSION_ID=$(curl -s -D - -X POST http://localhost:8619/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' \
2>&1 | grep -i mcp-session-id | awk '{print $2}' | tr -d '\r\n')
curl -s -X POST http://localhost:8619/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","method":"notifications/initialized"}'
3. List available tools:
curl -s -X POST http://localhost:8619/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
4. Clean up:
docker stop aws-postgres-mcp-test
Content type
Image
Digest
sha256:8edc3e8b8…
Size
211.9 MB
Last updated
4 months ago
docker pull hackerdogs/aws-postgres-mcp