关于 Postgres Mcp
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Postgres MCP
一个轻量级 MCP(Model Context Protocol)服务,可使用 SQL 或自然语言命令查询 Postgres 数据库。它提供全面的数据库操作、表结构查看和查询执行工具,并支持智能权限处理。
功能
智能查询权限处理
- 只读查询:自动批准(SELECT、EXPLAIN、SHOW、VALUES)
- 读写查询:需要用户确认(INSERT、UPDATE、DELETE、MERGE)
- 管理/DDL 查询:需要更高权限(CREATE、ALTER、DROP 等)
- 试运行模式:验证查询但不执行
全面的表结构查看
- 包含类型和约束的列定义
- 主键和外键关系
- 索引定义
- 触发器和检查约束
数据库管理
- 可切换多个数据库
- 强大的错误处理和回滚机制
可用工具
| 工具 | 描述 |
|---|---|
execute_raw_query | 执行 SQL 查询,并进行权限验证,支持试运行 |
list_tables | 列出所有非系统表 |
describe_tables | 获取全面的表信息,包括列、索引、触发器和约束 |
switch_database | 切换当前活动的数据库连接 |
必需的环境变量
POSTGRES_HOSTPOSTGRES_USERPOSTGRES_PASSWORDPOSTGRES_DATABASE
其他环境变量
POSTGRES_PORTPOSTGRES_SSL(布尔值)POSTGRES_VERIFY(布尔值)POSTGRES_SEND_RECEIVE_TIMEOUT(秒)POSTGRES_CONNECT_TIMEOUT(秒)
使用 mcpServers json 进行配置
适用于 Mac 和 Linux
{
"mcpServers": {
"postgres-mcp": {
"command": "npx",
"args": ["-y", "@freakynit/postgres-mcp@latest"],
"env": {
"POSTGRES_HOST": "<POSTGRES HOST>",
"POSTGRES_USER": "<POSTGRES USER>",
"POSTGRES_PASSWORD": "<POSTGRES PASSWORD>",
"POSTGRES_DATABASE": "<POSTGRES DATABASE>"
}
}
}
}
适用于 Windows
{
"mcpServers": {
"postgres-mcp": {
"command": "cmd",
"args": ["/k", "npx", "-y", "@freakynit/postgres-mcp@latest"],
"env": {
"POSTGRES_HOST": "<POSTGRES HOST>",
"POSTGRES_USER": "<POSTGRES USER>",
"POSTGRES_PASSWORD": "<POSTGRES PASSWORD>",
"POSTGRES_DATABASE": "<POSTGRES DATABASE>"
}
}
}
}
开发文档
前置条件
- Node.js
- PostgreSQL 服务
安装
npm i -g @freakynit/postgres-mcp
或
git clone https://github.com/freakynit/postgres-mcp.git
cd postgres-mcp
npm install
配置
在项目根目录下创建 .env 文件,并加入以下变量:
# PostgreSQL
POSTGRES_HOST=your-db-host
POSTGRES_PORT=5432 # Optional, default 5432
POSTGRES_USER=your-username
POSTGRES_PASSWORD=your-password
POSTGRES_DATABASE=your-database
# SSL settings (optional)
POSTGRES_SSL=false # Or true
POSTGRES_VERIFY=false # Verify server cert if SSL true
# Timeouts (optional, seconds)
POSTGRES_SEND_RECEIVE_TIMEOUT=60 # Query timeout
POSTGRES_CONNECT_TIMEOUT=60 # Connection timeout
使用方法
本地开发
启动服务(以 stdio 模式启动):
node src/index.js
使用 MCP Inspector
用于调试和开发:
npx @modelcontextprotocol/inspector node src/index.js
使用 MCP inspector 调试
npx @modelcontextprotocol/inspector node src/index.js
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE。
![]()
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。