这是一个用于PostgreSQL数据库探索和查询的模型上下文协议(MCP)服务器实现。
该项目提供了一个模型上下文协议(MCP)服务器,该服务器连接到PostgreSQL数据库,并通过MCP工具暴露各种数据发现和查询功能。这些工具允许您通过标准化接口来探索数据库结构、查询数据并获取数据库统计信息。
requirements.txt中):
pip install -r requirements.txt
通过提供PostgreSQL连接字符串运行服务器:
python server.py postgresql://用户名:密码@主机名:端口/数据库
要与Claude Desktop集成,请在您的Claude Desktop配置文件中添加以下配置:
{
"mcpServers": {
"postgres": {
"command": "python",
"args": [
"/ABOSLUTE/PATH/TO/postgres-mcp-server/server.py",
"postgresql://用户:密码@主机:端口/数据库"
]
}
}
}
在对上述配置文件进行添加或修改后,请确保强制退出并重新启动Claude Desktop。
Claude Desktop配置文件通常位于:
~/Library/Application\ Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json服务器提供了以下MCP工具:

execute_query执行自定义SELECT SQL查询并返回结果。
list_tables列出当前PostgreSQL数据库中的所有表。
get_table_schema获取指定表的模式定义。
filter_instances根据指定条件过滤数据库记录。
get_database_stats获取关于PostgreSQL数据库的一般统计信息和元数据。
一旦连接到Claude Desktop,您可以提问如下问题:

Claude将使用适当的MCP工具通过查询您的PostgreSQL数据库来回答这些问题。
如果连接失败,请验证您的PostgreSQL连接字符串是否正确
确保您的PostgreSQL服务器允许来自客户端机器的连接
未找到服务器:确保配置文件中的路径是正确的且绝对的
通过运行
where python来获取命令的绝对路径
例如 -
"command": "python"应该写成"command": "/Users/用户名/miniconda3/bin/python"
权限问题:确保Claude Desktop应用程序具有执行脚本的权限
服务器崩溃:检查服务器日志中的错误并确保所有依赖项已安装
欢迎在此仓库中提出问题。
SSE和Streamable-HTTP postgres-mcp-server正在开发中...