关于 PostgreSQL Multi-Schema MCP Server
为需要检查 PostgreSQL 数据库的 LLM 提供只读 MCP 服务。它支持显式指定多个 Schema,并将查询和元数据访问限制在授权范围内。
主要功能
- 01只读 SQL 查询
- 02显式配置可访问的 Schema
- 03跨 Schema 查看表
- 04过滤系统目录元数据
- 05提供表结构资源
适用场景
- 01检查多个 Schema 中的表
- 02在只读事务中执行查询
- 03获取列名与数据类型信息
MCP 相关
向 MCP 客户端提供只读查询工具和表结构资源,并依据启动时指定的 Schema 列表限制访问。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sql | string | 否 |
详细介绍
PostgreSQL 多模式 MCP 服务
一个只读访问 PostgreSQL 数据库的模型上下文协议服务,并增强了对多模式的支持。此服务可让大模型检查多个命名空间中的数据库模式并执行只读查询,同时保持模式隔离。
主要功能
- 多模式支持:通过命令行配置明确指定要公开的模式
- 模式隔离:严格控制访问权限,仅允许访问服务启动时列出的授权模式
- 跨模式发现:统一查看多个模式中的表,同时保持模式边界
- 元数据安全:过滤系统目录,仅公开指定模式中的用户定义表
组件
工具
- query
- 对已连接的数据库执行只读 SQL 查询
- 输入:
sql(字符串):要执行的 SQL 查询 - 所有查询均在只读事务中执行
- 通过限制 search_path 维持模式上下文
资源
服务为所有授权模式中的每张表提供模式信息:
- 表模式(
postgres://<host>/<db_schema>/<table>/schema)- 每张表的 JSON 模式信息
- 包含列名、数据类型和类型修饰符
- 从数据库元数据中自动发现
- 通过显式模式允许列表支持多模式
使用方法
此服务需要数据库 URL,并接受以逗号分隔的模式列表作为要公开的模式:
npx -y mcp-server-postgres-multi-schema <database-url> [schemas]
- database-url:PostgreSQL 连接字符串(例如,
postgresql://localhost/mydb) - schemas:以逗号分隔的要公开的模式列表(若未指定,默认为 'public')
示例
# 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
与 Claude Desktop 搭配使用
在 claude_desktop_config.json 中配置 "mcpServers" 部分:
NPX
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"mcp-server-postgres-multi-schema",
"postgresql://localhost/mydb",
"public,audit"
]
}
}
}
许可证
此多模式 MCP 服务采用 MIT 许可证。你可以根据 LICENSE 文件中的条款使用、修改和分发该软件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。