Skip to main content
Glama

PostgreSQL Multi-Schema MCP Server

README.md2.54 kB
# 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 ```bash # 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 ```json { "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.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HarjjotSinghh/mcp-server-postgres-multi-schema'

If you have feedback or need assistance with the MCP directory API, please join our Discord server