PostgreSQL MCP Server

PostgreSQL MCP Server

site icon
2025.04.16 5
Go数据库服务PostgreSQL 交互数据库
PostgreSQL MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,专门用于与 PostgreSQL 数据库进行交互。它允许 AI 助手通过 MCP 协议执行 SQL 查询、创建表格以及列出数据库中的表格。该服务提供了多种工具来支持数据库操作,包括读取查询、写入查询、创建表格和列出表格等功能。
View on GitHub

Overview

基本能力

产品定位

PostgreSQL MCP Server 是一个专门用于与 PostgreSQL 数据库交互的 MCP 服务,旨在为 AI 助手提供数据库操作的能力。

核心功能

  • read_query: 执行 SELECT 查询
  • write_query: 执行 INSERT、UPDATE 或 DELETE 查询
  • create_table: 创建新表格
  • list_tables: 列出数据库中的所有用户表格(可选模式过滤)

适用场景

  • AI 助手需要执行数据库查询的场景
  • 需要动态创建或修改数据库表格的场景
  • 需要列出数据库表格以进行进一步操作的场景

工具列表

  • read_query: 执行 SELECT 查询,返回查询结果
  • write_query: 执行 INSERT、UPDATE 或 DELETE 查询,修改数据库内容
  • create_table: 创建新表格,支持自定义表格结构
  • list_tables: 列出数据库中的所有用户表格,支持按模式过滤

常见问题解答

  • 安全性: 服务器会验证查询类型以防止不当操作,并对模式名称进行输入清理以防止 SQL 注入。
  • 权限: 建议使用具有有限权限的专用数据库用户。
  • SSL: 在生产环境中,建议启用 SSL 以提高安全性。

使用教程

使用依赖

  • Go 1.23 或更高版本
  • PostgreSQL 数据库服务器

安装教程

  1. 克隆仓库: bash git clone https://github.com/sql-mcp-server.git cd sql-mcp-server

  2. 安装依赖: bash go mod download

  3. 构建服务器: bash go build -o sql-mcp-server

配置

在项目根目录创建 .env 文件,包含以下变量:

DB_HOST=localhost
DB_PORT=5432
DB_NAME=postgres
DB_USER=your_username
DB_PASSWORD=your_pass
DB_SSLMODE=disable

调试方式

  1. 运行服务器: bash ./sql-mcp-server

  2. 使用 MCP 配置与 AI 助手集成,确保环境变量正确设置。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。