PostgreSQL Multi-Schema
Provides read-only access to PostgreSQL databases with multi-schema support, allowing LLMs to inspect schemas and execute queries across different namespaces.
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.
Related Servers
CData Avalara AvaTax
A read-only MCP server for querying live Avalara AvaTax data. Powered by the CData JDBC Driver.
Microsoft SQL Server
A server for secure interaction with Microsoft SQL Server databases using environment variables for configuration.
NCBI Entrez MCP Server
Access NCBI's suite of APIs, including E-utilities, BLAST, PubChem, and PMC services.
ClickHouse
An MCP server for interacting with a ClickHouse database.
Pinecone
Read and write to a Pinecone vector database using the Model Context Protocol.
JCR Partition Table
Provides up-to-date journal partition table queries based on ShowJCR data.
Couchbase
Interact with Couchbase databases using natural language. Perform CRUD operations, query buckets, and execute N1QL queries.
Turso Cloud
Integrate with Turso databases for LLMs, featuring a two-level authentication system for secure operations.
SimpleDB MCP
A secure MCP server for accessing and exploring relational databases like MySQL, PostgreSQL, Salesforce, and AWS Glue.
MySQL Schema MCP Server
A server for retrieving MySQL database schema information using the FastMCP framework.