mcp-server-postgres

mcp-server-postgres

0

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

CI Status smithery badge

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.