Skip to main content
Glama
postgres-mcp

postgres-mcp

by chenz4027

PostgreSQL MCP Server

A Model Context Protocol (MCP) server that provides PostgreSQL database access to Claude Desktop. This server enables Claude to interact with your local PostgreSQL database through a secure, well-defined interface.

Features

  • Query Execution: Execute custom SQL queries with parameterization for security

  • Schema Inspection: List tables, describe table structures, and get schema overviews

  • CRUD Operations: Create, read, update, and delete records with structured interfaces

  • Security Features: Input validation, parameterized queries, and connection pooling

  • Type Safety: Full TypeScript implementation with Zod validation

Related MCP server: PostgreSQL MCP Server

Available Tools

  1. postgres_query - Execute custom SQL queries

  2. postgres_list_tables - List all tables in the database

  3. postgres_describe_table - Get detailed table information

  4. postgres_schema_overview - Get complete database schema

  5. postgres_select - Select data with filtering and pagination

  6. postgres_insert - Insert new records

  7. postgres_update - Update existing records

  8. postgres_delete - Delete records

Installation

  1. Clone this repository:

    git clone <repository-url>
    cd postgres-mcp
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Configuration

PostgreSQL Setup

Ensure your PostgreSQL server is running on localhost:5432 with a database named postgres. The default configuration assumes you can connect without username/password (trust authentication).

Claude Desktop Configuration

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\\Claude\\claude_desktop_config.json

{
  "mcpServers": {
    "postgres": {
      "command": "node",
      "args": ["/path/to/postgres-mcp/dist/index.js"]
    }
  }
}

Replace /path/to/postgres-mcp with the actual path to your project directory.

Usage

  1. Start Claude Desktop

  2. The PostgreSQL MCP server will automatically connect to your database

  3. Use the available tools through Claude's interface

Example Queries

  • "Show me all tables in the database"

  • "Describe the users table"

  • "Select all users where age > 25"

  • "Insert a new user with name 'John' and email 'john@example.com'"

Security Considerations

  • All queries use parameterized statements to prevent SQL injection

  • Input validation using Zod schemas

  • Connection pooling with timeouts

  • No hardcoded credentials (uses environment/default connection)

Development

# Development mode (watch for changes)
npm run dev

# Build
npm run build

# Lint
npm run lint

# Test
npm test

Troubleshooting

  1. Connection Issues: Ensure PostgreSQL is running and accessible

  2. Permission Errors: Check database user permissions

  3. Tool Not Found: Verify Claude Desktop configuration path

License

MIT

Available Tools

8 tools
postgres_deleteB

Delete records from a table

Inputs: where (required), table_name (required).

postgres_describe_tableA

Get detailed information about a specific table including columns, data types, and constraints

Inputs: table_name (required).

postgres_insertB

Insert a new record into a table

Inputs: data (required), table_name (required).

postgres_list_tablesA

List all tables in the public schema of the PostgreSQL database

Inputs: no named parameters.

postgres_queryA

Execute a custom SQL query against the PostgreSQL database. Use this for complex queries, joins, aggregations, and any SQL operation not covered by other tools.

Inputs: query (required), parameters.

postgres_schema_overviewA

Get a complete overview of the database schema including all tables and their columns

Inputs: no named parameters.

postgres_selectA

Select data from a table with optional filtering, sorting, and pagination

Inputs: table_name (required), limit, where, offset, +3 more.

postgres_updateC

Update existing records in a table

Inputs: data (required), where (required), table_name (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation4/5

    Tools are mostly distinct: CRUD operations are clear, and schema tools are differentiated by scope. Some overlap exists between list_tables and schema_overview, and between select and query, but descriptions clarify when to use each.

    Naming Consistency4/5

    All tools share the 'postgres_' prefix and use snake_case, but the pattern is not perfectly uniform: most are verb_noun (e.g., list_tables, describe_table), while query, select, insert, etc. are bare verbs and schema_overview is a noun phrase. This is a minor deviation.

    Tool Count5/5

    With 8 tools, the server is well-scoped for PostgreSQL interaction. It covers metadata inspection, data manipulation, and custom querying without unnecessary bloat or thinness.

    Completeness5/5

    The tool set covers the full data lifecycle: schema inspection (list_tables, schema_overview, describe_table), CRUD (select, insert, update, delete), and a custom query tool for anything else. No obvious gaps for typical database use cases.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides authenticated access to PostgreSQL databases for Claude AI, enabling users to browse database tables, discover schemas, and execute custom SQL queries through natural language interaction.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables Claude to interact with PostgreSQL databases by executing SQL queries, exploring schemas, and monitoring database health. It provides tools for data manipulation and schema management via a secure SSE connection.
      333 npm
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables Claude Desktop to interact with PostgreSQL databases through natural language for schema exploration, data analysis, and query execution. Users can search schemas, describe tables, and perform read or write operations without needing to write manual SQL.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to query and manage local PostgreSQL databases through SQL execution and schema exploration tools. It supports both read-only queries and write operations including table creation and data modification via natural language.
      32 npm
      1
      ISC