MCP ExplorerExplorer

Postgres Mcp

@DanielRSnellon a year ago
1 MIT
FreeCommunity
AI Systems
A read-only MCP server for querying PostgreSQL databases and inspecting schemas.

Overview

What is Postgres Mcp

postgres-mcp is a Model Context Protocol server that provides read-only access to PostgreSQL databases, allowing LLMs to inspect database schemas and execute read-only queries.

Use cases

Use cases include querying database schemas for insights, integrating with applications that require read-only data access, and supporting LLMs in generating data-driven responses.

How to use

To use postgres-mcp, configure it in the ‘mcpServers’ section of your ‘claude_desktop_config.json’. You can run it using Docker or NPX by specifying the PostgreSQL connection URL.

Key features

Key features include executing read-only SQL queries, providing schema information for each table in JSON format, and automatic discovery of column names and data types from database metadata.

Where to use

postgres-mcp can be used in various fields such as data analysis, machine learning, and application development where read-only access to PostgreSQL databases is required.

Content

PostgreSQL

A Model Context Protocol server that provides read-only access to PostgreSQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.

Components

Tools

  • query
    • Execute read-only SQL queries against the connected database
    • Input: sql (string): The SQL query to execute
    • All queries are executed within a READ ONLY transaction

Resources

The server provides schema information for each table in the database:

  • Table Schemas (postgres://<host>/<table>/schema)
    • JSON schema information for each table
    • Includes column names and data types
    • Automatically discovered from database metadata

Usage with Claude Desktop

To use this server with the Claude Desktop app, add the following configuration to the “mcpServers” section of your claude_desktop_config.json:

Docker

  • when running docker on macos, use host.docker.internal if the server is running on the host network (eg localhost)
  • username/password can be added to the postgresql url with postgresql://user:password@host:port/db-name
{
  "mcpServers": {
    "postgres": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/postgres",
        "postgresql://host.docker.internal:5432/mydb"
      ]
    }
  }
}

NPX

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}

Replace /mydb with your database name.

Building

Docker:

docker build -t mcp/postgres -f src/postgres/Dockerfile . 

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers