
PostgreSQL MCP Server

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 数据库服务器
安装教程
-
克隆仓库:
bash git clone https://github.com/sql-mcp-server.git cd sql-mcp-server
-
安装依赖:
bash go mod download
-
构建服务器:
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
调试方式
-
运行服务器:
bash ./sql-mcp-server
-
使用 MCP 配置与 AI 助手集成,确保环境变量正确设置。