Postgresql MCP Server

Postgresql MCP Server

Postgresql MCP Server 是一个基于 FastMCP 的中间件服务,提供对 PostgreSQL 数据库的安全访问,支持表级 CRUD 操作、模式检查和自定义 SQL 查询,适用于需要统一数据库接口和精细权限控制的场景。

73 浏览
2025-12-28 发布

详细介绍

Postgresql MCP Server 是一个基于 FastMCP 协议的中间件服务,旨在为 PostgreSQL 数据库提供安全、可控的访问接口。该服务支持对指定表的增删改查(CRUD)操作、模式检查以及自定义 SQL 查询,并通过 YAML 配置文件实现表级和列级的访问控制,适用于微服务架构、低代码平台和需要统一数据库接口的系统。

核心功能

PostgreSQL MCP 服务器提供以下核心功能:

  • 数据库连接:支持连接任意 PostgreSQL 数据库实例,通过配置文件定义连接参数。
  • CRUD 操作:允许对指定表执行创建、读取、更新和删除记录的操作。
  • 访问控制:支持表级和列级的精细权限控制,可配置允许的操作类型。
  • 模式检查:提供获取表结构信息的功能,便于了解字段和类型。
  • 自定义查询:支持执行参数化的 SQL 查询,但需谨慎配置以避免安全风险。

安装方法

安装 PostgreSQL MCP 服务器需要以下步骤:

  1. 克隆项目仓库:
git clone https://github.com/yourusername/postgresql-mcp.git
cd postgresql-mcp
  1. 安装依赖:
pip install -r requirements.txt

配置说明

服务器通过 config.yaml 文件进行配置,包含数据库连接信息和表访问权限。示例配置如下:

database:
  host: localhost
  port: 5432
  dbname: postgres
  user: postgres
  password: postgres

tables:
  - name: users
    allowed_columns:
      - id
      - name
      - email
      - created_at
    allowed_operations:
      - create
      - read
      - update
      - delete

  - name: products
    allowed_columns:
      - id
      - name
      - price
      - description
      - category
    allowed_operations:
      - create
      - read
      - update
      - delete

使用方法

启动服务器后,可通过 MCP 客户端发送操作请求。以下是常用工具的使用示例:

列出所有可访问表

resp>

创建新记录

resp
    table_name="users",
    data={
        "name": "John Doe",
        "email": "john@example.com"
    }
)

读取记录

resp
    table_name="users",
    filters={"name": "John Doe"},
    limit=10,
    offset=0
)

更新记录

resp
    table_name="users",
    record_id=1,
    data={"email": "newemail@example.com"},
    id_column="id"
)

删除记录

resp
    table_name="users",
    record_id=1,
    id_column="id"
)

执行自定义 SQL 查询

resp
    query="SELECT * FROM users WHERE age > %s",
    params=[18]
)

获取表结构信息

resp>

使用场景

PostgreSQL MCP 服务器适用于以下场景:

  • 需要安全访问 PostgreSQL 数据库的应用程序,避免直接暴露数据库。
  • 需要统一数据库操作接口的微服务架构。
  • 低代码平台中,通过配置即可实现数据库操作。
  • 需要精细权限控制的系统,如多租户架构。

注意事项

使用 PostgreSQL MCP 服务器时需注意以下事项:

  • 数据库连接信息需根据实际环境配置。
  • 表和列的访问控制严格遵循配置文件中的定义。
  • 所有 SQL 查询需通过参数化方式执行,以防止 SQL 注入攻击。
  • 自定义 SQL 查询功能存在潜在安全风险,建议仅在受控环境中使用。

PostgreSQL MCP 服务器通过标准化的 MCP 协议提供安全、可控的数据库访问方式,适用于需要统一接口和精细权限管理的场景。

数据库中间件 CRUD操作 访问控制 SQL查询 PostgreSQL

相关服务推荐

查看更多
AI未来说 Logo

AI未来说,专注人工智能领域的垂直信息门户。聚合全球优质AI工具导航、每日AI行业新闻快讯,深度整合MCP(Model-Content-Platform)生态资源,助力开发者、研究者与企业高效获取人工智能前沿动态与实用工具。

Copyright © 2007-2025 鄂ICP备15002304号-1