使用说明
PostgreSQL多模式MCP服务器
一种模型上下文协议服务器,提供对PostgreSQL数据库的只读访问,并支持增强的多模式。此服务器使LLM能够跨多个命名空间检查数据库模式,并在保持模式隔离的同时执行只读查询。
主要特点
- 多模式支持:通过命令行配置明确指定要公开的架构
- 架构隔离:仅对服务器启动期间列出的授权架构进行严格的访问控制
- 跨模式发现:跨多个模式的表的统一视图,同时保持模式边界
- 元数据安全:筛选系统目录,仅公开指定架构中的用户定义表
组件
工具
- 怎么翻译
- 对连接的数据库执行只读SQL查询
- 输入:
sql(string):要执行的SQL查询 - 所有查询都在只读事务中执行
- 通过search_path限制维护架构上下文
资源
服务器跨授权模式为每个表提供模式信息:
- 持微软签名的表模式 (
postgres://<host>/<db_schema>/<table>/schema)- 每个表的JSON模式信息
- 包括列名、数据类型和类型修饰符
- 从数据库元数据中自动发现
- 具有显式模式允许列表的多模式支持
用法
服务器需要一个数据库URL,并接受一个逗号分隔的模式列表来公开:
npx -y mcp-server-postgres-multi-schema <database-url> [schemas]
- 数据库urlPostgreSQL连接字符串(例如。,
postgresql://localhost/mydb) - 模式:以逗号分隔的要公开的架构列表(如果未指定,则默认为“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
在您的数据库中配置“mcpServers”部分 claude_desktop_config.json:
NPX
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"mcp-server-postgres-multi-schema",
"postgresql://localhost/mydb",
"public,audit"
]
}
}
}
许可证
此多模式MCP服务器根据MIT许可证获得许可。您可以根据许可文件中的条款使用、修改和分发软件。
