PostgreSQL MCP服务器
一种模型上下文协议(MCP)服务器,提供与PostgreSQL数据库交互的工具。
工具
- read_query -执行SELECT查询以从数据库中读取数据
- list_tables -获取数据库中所有表的列表
- describe_table -查看特定表的架构信息
安装
1.创建并激活虚拟环境
cd
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate2.安装包装
pip install -e .用法
服务器支持两种传输模式:
- 标准 (默认)-标准输入/输出,用于直接MCP客户端集成
- 超文本传输协议 -具有流式传输的HTTP,适用于独立服务器模式
命令行
postgres-mcp --host --port
--database --user --password
[--transport stdio|http]论据:
| 参数 | 必需 | 默认值 | 描述 |
|---|---|---|---|
--host | 是 | - | PostgreSQL主机 |
--port | 否 | 5432 | PostgreSQL端口 |
--database | 是 | - | 数据库名称 |
--user | 是 | - | 数据库用户 |
--password | 是 | - | 数据库密码 |
--transport | 否 | stdio | 传输类型: stdio 或 http |
--http-host | 否 | 127.0.0.1 | HTTP服务器的主机 |
--http-port | 没有 | 8080 | HTTP服务器端口 |
示例(stdio模式):
postgres-mcp --host localhost --port 5432 --database mydb --user admin --password secret示例(HTTP模式):
postgres-mcp --host localhost --database mydb --user admin --password secret --transport http --http-port 8080作为Python模块
python -m postgres_mcp --host localhost --database mydb --user admin --password secret使用run.sh(用于具有IAM身份验证的AWS RDS)
这 run.sh 该脚本处理AWS RDS IAM身份验证和SSL配置:
./run.sh此脚本:
- 为RDS设置SSL证书
- 通过以下方式生成临时IAM身份验证令牌
aws-vault - 在上以HTTP模式启动MCP服务器
http://127.0.0.1:8080/mcp - 在运行脚本之前,您需要为凭据和RDS连接详细信息配置环境变量。
MCP客户端配置
HTTP模式(建议用于AWS RDS/复杂环境)
- 在具有正确环境的终端中启动服务器:
./run.sh- 配置您的MCP客户端:
对于直接支持HTTP的客户端(例如Cursor):
{
"mcpServers": {
"postgres": {
"type": "streamable-http",
"url": "http://127.0.0.1:8080/mcp"
}
}
}对于只支持stdio的客户端(例如Claude Code):
使用stdio到HTTP代理:
{
"mcpServers": {
"postgres": {
"command": "
/.venv/bin/postgres-mcp-proxy",
"args": ["--server-url", "http://127.0.0.1:8080/mcp"]
}
}
}标准模式(用于简单设置)
直接执行
克劳德桌面版 (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"postgres": {
"command": "
/.venv/bin/postgres-mcp",
"args": [
"--host", "localhost",
"--port", "5432",
"--database", "mydb",
"--user", "admin",
"--password", "secret"
]
}
}
}克劳德代码:
{
"mcpServers": {
"postgres": {
"command": "
/.venv/bin/postgres-mcp",
"args": [
"--host", "localhost",
"--port", "5432",
"--database", "mydb",
"--user", "admin",
"--password", "secret"
]
}
}
}发展
在开发模式下安装
pip install -e .项目结构
db-mcp/
├── pyproject.toml
├── README.md
├── run.sh # AWS RDS launcher script
└── src/
└── postgres_mcp/
├── __init__.py
├── __main__.py # CLI entry point
├── database.py # Connection pool management
├── server.py # MCP server implementation
└── proxy.py # Stdio-to-HTTP proxy for Claude Code