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