MCP.so
Sign In

PostgreSQL

@divyanshu-vashu

About PostgreSQL

No overview available yet

Basic information

Category

Databases

Runtime

node

Transports

stdio

Publisher

divyanshu-vashu

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "MCP-SERVER-PG": {
      "command": "docker",
      "args": [
        "build",
        "-t",
        "mcp/postgres",
        "-f",
        "src/postgres/Dockerfile",
        "."
      ]
    }
  }
}

Tools

1

Execute read-only SQL queries against the connected database

Overview

What is PostgreSQL?

A Model Context Protocol server that provides read‑only access to PostgreSQL databases. It enables LLMs to inspect database schemas and execute read‑only SQL queries against a connected PostgreSQL instance.

How to use PostgreSQL?

Configure the server in the mcpServers section of claude_desktop_config.json. Use either Docker (docker run -i --rm mcp/postgres postgresql://...) or NPX (npx -y @modelcontextprotocol/server-postgres). Provide a PostgreSQL connection URL, optionally including username and password.

Key features of PostgreSQL?

  • Execute read‑only SQL queries via the query tool.
  • Automatically discover and expose JSON table schemas.
  • Schemas include column names and data types.
  • All queries run inside a READ ONLY transaction.
  • Supports Docker and NPX deployment.
  • MIT licensed.

Use cases of PostgreSQL?

  • Let an LLM explore a live PostgreSQL database schema.
  • Run safe, read‑only analytical queries from a chat interface.
  • Allow users to ask natural‑language questions about database content.
  • Provide schema context to AI agents for generating accurate SQL.

FAQ from PostgreSQL

What type of queries does this server support?

Only read‑only SQL queries. All executions are wrapped in a READ ONLY transaction to prevent modifications.

How do I connect to a PostgreSQL database running on my local machine?

When using Docker on macOS, use host.docker.internal as the host in the connection URL. For example: postgresql://host.docker.internal:5432/mydb. Replace /mydb with your database name.

Can I include credentials in the connection URL?

Yes. Use the full PostgreSQL URI format: postgresql://user:password@host:port/db‑name.

What information does the server expose as resources?

For each table, a JSON schema resource (postgres://<host>/<table>/schema) is provided, containing column names and data types, automatically discovered from database metadata.

How do I run the server without Docker?

Use the NPX method: set the command to npx with arguments -y @modelcontextprotocol/server-postgres followed by your connection string.

Comments

More Databases MCP servers