mcp-server-postgres
MCP Server Postgres is a server designed for PostgreSQL databases that facilitates schema inspection and execution of read-only queries. It supports Docker and is available as an NPM package, ensuring secure access with read-only transactions.
mcp-server-postgres
Model Context Protocol Server for PostgreSQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.
Features
- Read-only access to PostgreSQL databases
- Schema inspection capabilities
- Safe query execution within READ ONLY transactions
- Docker support
- NPM package available
Installation
Using Docker
# Build the Docker image
make docker
# Run with Docker
docker run -i --rm mcp/postgres postgresql://host:port/dbname
Installing via Smithery
To install PostgreSQL Database Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @yuru-sha/mcp-server-postgres --client claude
Usage
With Claude Desktop
Add the following configuration to your claude_desktop_config.json
:
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/postgres",
"postgresql://host:port/dbname"
]
}
}
}
Note: When using Docker on macOS, use host.docker.internal
if the PostgreSQL server is running on the host network.
Connection URL Format
postgresql://[user][:password]@host[:port]/database
Replace /database
with your database name.
Development
# Initial setup
make setup
# Build the project
make build
# Format code
make format
# Run linter
make lint
License
This project is released under the .
Security
This server enforces read-only access to protect your database. All queries are executed within READ ONLY transactions.
For enhanced security, we recommend creating a read-only user.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.