返回 MCP 目录
public公开dns本地运行

mcp-server-postgres-multi-schema

一个支持多模式的PostgreSQL MCP服务器,提供只读访问和跨模式数据发现功能,严格限制访问权限仅限配置的模式列表。

article

README

🚀 PostgreSQL 多模式 MCP 服务器

本服务器基于模型上下文协议(Model Context Protocol)构建,可提供对 PostgreSQL 数据库的只读访问。其增强的多模式支持,能让大型语言模型(LLMs)检查数据库跨多个命名空间的架构,执行只读查询,同时确保架构隔离。

✨ 主要特性

  • 多模式支持:可通过命令行配置,明确指定要暴露的架构。
  • 架构隔离:采用严格的访问控制,仅允许访问服务器启动时列出的授权架构。
  • 跨模式发现:提供多个架构表的统一视图,同时维持架构边界。
  • 元数据安全:筛选系统目录,仅显示指定架构中的用户定义表。

📦 安装指南

该服务器需要一个数据库 URL,并接受一个逗号分隔的要暴露的架构列表:

npx -y mcp-server-postgres-multi-schema <database-url> [schemas]
  • database-url:PostgreSQL 连接字符串(例如,postgresql://localhost/mydb
  • schemas:要暴露的架构的逗号分隔列表(如果没有指定,默认为 'public')

示例

# 使用默认公共架构连接
npx -y mcp-server-postgres-multi-schema postgresql://localhost/mydb

# 使用多个架构
npx -y mcp-server-postgres-multi-schema postgresql://localhost/mydb public,analytics,staging

📚 详细文档

组件

工具

  • 查询
    • 可执行只读 SQL 查询到连接的数据库。
    • 输入:sql(字符串),即要执行的 SQL 查询。
    • 所有查询都在 READ ONLY 事务中执行。
    • 通过搜索路径限制维护架构上下文。

资源

该服务器为每个表提供授权架构中的模式信息:

  • 表格模式 (postgres://<host>/<db_schema>/<table>/schema)
    • 每个表的 JSON 模式信息。
    • 包括列名、数据类型和类型修饰符。
    • 自动从数据库元数据中发现。
    • 支持多架构,带有明确的架构允许列表。

与 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 文件中所述的条款使用、修改和分发软件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端