本项目实现了一个模型上下文协议(MCP)服务器,可用于以只读模式查询 PostgreSQL 数据库。它专为与 Claude Desktop 及其他 MCP 客户端协同工作而设计,为数据库查询提供了安全、高效的解决方案。
本项目实现了一个具备特定功能的模型上下文协议(MCP)服务器,可安全地以只读模式访问 PostgreSQL 数据库,并与 Claude Desktop 集成。
# 克隆仓库
git clone https://github.com/RathodDarshil/mcp-postgres-query-server.git
cd mcp-postgres-query-server
# 安装依赖项
npm install
# 构建项目
npm run build
您可以配置 Claude Desktop 自动启动并连接到 MCP 服务器:
claude_desktop_config.json
的 mcpServers
部分添加 postgres-query 服务器:{
"mcpServers": {
"postgres-query": {
"command": "node",
"args": [
"/path/to/your/mcp-postgres-query-server/dist/index.js",
"postgresql://username:password@hostname:port/database"
]
}
}
}
/path/to/your/
替换为您实际项目的路径。以下是带有 postgres-query 的完整配置文件示例:
{
"mcpServers": {
"postgres-query": {
"command": "node",
"args": [
"/Users/darshilrathod/mcp-servers/mcp-postgres-query-server/dist/index.js",
"postgresql://user:password@localhost:5432/mydatabase"
]
}
}
}
要更新您的 Claude Desktop 配置:
npm run build
重建对配置的 PostgreSQL 数据库执行只读 SQL 查询。
参数:
query
(string):要执行的 SELECT SQL 查询响应:
rows
:结果集行rowCount
:返回的行数columns
:查询的结果列{
"query": "SELECT * FROM users LIMIT 5",
"result": {
"rows": [
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
],
"rowCount": 2,
"columns": ["id", "name"]
}
}
src/
:包含核心的服务器实现dist/
:构建输出目录package.json
:项目依赖和脚本README.md
:项目文档该项目实现了一个模型上下文协议(MCP)服务器,通过 Node.js 与 PostgreSQL 数据库进行交互。服务器提供了安全的只读接口,对 SQL 查询进行验证,确保仅执行 SELECT 查询,并设置了 10 秒的查询超时保护。通过 MCP 协议与 Claude Desktop 集成,查询结果以结构化的 JSON 格式返回。
文档未提及许可证信息。
⚠️ 重要提示
- 确保数据库凭据的安全性,避免在代码中明文存储。
- 使用环境变量或配置管理工具来管理敏感信息。
- 定期审计和更新服务器安全策略。