Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-postgres-multi-schema

一种模型上下文协议服务器,提供对 PostgreSQL 数据库的只读访问,具有增强的多模式支持,允许大型语言模型(LLM)跨多个命名空间检查数据库模式并执行只读查询,同时保持模式隔离。

article

README

PostgreSQL Multi-Schema MCP Server

A Model Context Protocol server that provides read-only access to PostgreSQL databases with enhanced multi-schema support. This server enables LLMs to inspect database schemas across multiple namespaces and execute read-only queries while maintaining schema isolation.

Key Features

  • Multi-Schema Support: Explicitly specify which schemas to expose through command-line configuration
  • Schema Isolation: Strict access control to only authorized schemas listed during server startup
  • Cross-Schema Discovery: Unified view of tables across multiple schemas while maintaining schema boundaries
  • Metadata Security: Filters system catalogs to only expose user-defined tables in specified schemas

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
    • Schema context maintained through search_path restriction

Resources

The server provides schema information for each table across authorized schemas:

  • Table Schemas (postgres://<host>/<db_schema>/<table>/schema)
    • JSON schema information for each table
    • Includes column names, data types, and type modifiers
    • Automatically discovered from database metadata
    • Multi-schema support with explicit schema allow-list

Usage

The server requires a database URL and accepts a comma-separated list of schemas to expose:

npx -y mcp-server-postgres-multi-schema <database-url> [schemas]
  • database-url: PostgreSQL connection string (e.g., postgresql://localhost/mydb)
  • schemas: Comma-separated list of schemas to expose (defaults to 'public' if not specified)

Examples

# Connect with default public schema
npx -y mcp-server-postgres-multi-schema postgresql://localhost/mydb

# Connect with multiple schemas
npx -y mcp-server-postgres-multi-schema postgresql://localhost/mydb public,analytics,staging

Usage with Claude Desktop

Configure the "mcpServers" section in your claude_desktop_config.json:

NPX

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-postgres-multi-schema",
        "postgresql://localhost/mydb",
        "public,audit"
      ]
    }
  }
}

License

This multi-schema MCP server is licensed under the MIT License. You may use, modify, and distribute the software according to the terms in the LICENSE file.

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client