使用说明
PostgreSQL MCP 服务器
一个模型上下文协议(MCP)服务器,为像Claude Desktop这样的AI助手提供对PostgreSQL数据库的安全、只读访问。
特点/功能
- 数据库模式资源访问表结构、关系和元数据
- 只读SQL工具利用内置的安全控制安全地执行SELECT查询
- 数据分析提示为常见数据库分析任务提供的预构建模板
- 性能监控内置查询用于数据库性能分析
- 数据质量报告全面的数据质量评估工具
快速入门:使用UV(紫外线)
1. 安装依赖项
# Install uv if you haven't already
pip install uv
# Install project dependencies
uv sync
2. 环境设置
创建一个 .env 项目根目录下的文件:
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=your_database_name
POSTGRES_USER=your_username
POSTGRES_PASSWORD=your_password
POSTGRES_SSL=prefer
3. 启动服务器
# Run as HTTP server
uv run python -m fastmcp.server server:mcp --port 8000
# Or with specific database parameters
uv run python server.py --host localhost --port 5432 --database mydb --user postgres
MCP客户端配置
Claude 桌面版
将此配置添加到您的Claude桌面配置文件中:
位置:
- macOS(苹果电脑操作系统):
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fastapi-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"http://127.0.0.1:8000/mcp",
"8080"
]
}
}
}
Cursor 集成开发环境(IDE)
对于Cursor或其他MCP客户端:
{
"mcpServers": {
"postgresql-mcp": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8000/mcp", "8080"]
}
}
}
远程服务器配置
对于使用HTTPS的远程服务器:
{
"mcpServers": {
"postgresql-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://your-server.com:8000/mcp", "8080"]
}
}
}
可用资源
schema://tables- 列出所有数据库表schema://table/{table_name}- 详细的表结构schema://relationships- 外键关系
可用工具
execute_read_query(sql, limit)- 安全地执行SELECT查询describe_table(table_name)- 获取表结构和示例数据get_table_stats(table_name)- 表格数据的统计分析
可用提示
analyze_table_data(table_name)- 综合表格分析模板performance_analysis()- 数据库性能监控查询data_quality_report()- 数据质量评估框架
安全特性
- 只读访问权限仅允许使用SELECT语句
- 查询验证阻止危险的SQL关键字
- 结果限制可配置的行数限制(最多1000行)
- 连接池高效的数据库连接
- 错误处理优雅的错误响应
故障排除
连接问题
- 验证数据库凭据
.env文件 - 检查 PostgreSQL 服务器是否正在运行
- 确保与数据库主机的网络连接
- 验证SSL设置与您的数据库配置相匹配
权限问题
确保您的数据库用户对您想要查询的表具有SELECT权限:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO your_user;
紫外线问题
# Update uv
pip install --upgrade uv
# Clear uv cache if needed
uv cache clean
# Reinstall dependencies
rm -rf .venv
uv sync
发展
运行测试
uv run python test_client.py
添加新功能
- 添加新的工具/资源到
server.py - 用新功能更新此README文件
- 使用您的MCP客户端进行测试
要求
- Python 3.13及以上版本
- PostgreSQL 数据库
- UV包管理器
- 兼容MCP的客户端(如Claude Desktop、Cursor等)
依赖项
asyncpg- PostgreSQL 异步驱动程序fastmcp- MCP服务器框架mcp- 模型上下文协议库python-dotenv- 环境变量管理
许可证
这个项目是开源的。详情请参见许可证文件。
