返回市场
postgresql-mcp-服务器

postgresql-mcp-服务器

作者:nahmanmate17 星标更新:2025-05-01

项目介绍

PostgreSQL MCP 服务器

smithery 徽章

这是一个提供 PostgreSQL 数据库管理能力的模型上下文协议(MCP)服务器。此服务器有助于分析现有的 PostgreSQL 设置,提供实施指导,并调试数据库问题。

<a href="https://glama.ai/mcp/servers/bnw58zblt1"><img width="380" height="200" src="https://gips1.baidu.com/it/u=1827175268,720922555&fm=3081&app=3081&f=PNG?w=760&h=400" alt="PostgreSQL Server MCP 服务器" /></a>

功能

1. 数据库分析 (analyze_database)

分析 PostgreSQL 数据库配置和性能指标:

  • 配置分析
  • 性能指标
  • 安全评估
  • 优化建议
// 示例用法
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "analysisType": "performance" // 可选: "configuration" | "performance" | "security"
}

2. 安装指南 (get_setup_instructions)

提供逐步的 PostgreSQL 安装和配置指导:

  • 平台特定的安装步骤
  • 配置建议
  • 安全最佳实践
  • 安装后任务
// 示例用法
{
  "platform": "linux", // 必需: "linux" | "macos" | "windows"
  "version": "15", // 可选: PostgreSQL 版本
  "useCase": "production" // 可选: "development" | "production"
}

3. 数据库调试 (debug_database)

调试常见的 PostgreSQL 问题:

  • 连接问题
  • 性能瓶颈
  • 锁冲突
  • 复制状态
// 示例用法
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "issue": "performance", // 必需: "connection" | "performance" | "locks" | "replication"
  "logLevel": "debug" // 可选: "info" | "debug" | "trace"
}

先决条件

  • Node.js >= 18.0.0
  • PostgreSQL 服务器(用于目标数据库操作)
  • 访问目标 PostgreSQL 实例的网络权限

安装

通过 Smithery 安装

要通过 Smithery 自动安装 PostgreSQL MCP 服务器到 Claude Desktop:

npx -y @smithery/cli install @nahmanmate/postgresql-mcp-server --client claude

手动安装

  1. 克隆仓库
  2. 安装依赖项:
    npm install
    
  3. 构建服务器:
    npm run build
    
  4. 添加到 MCP 设置文件:
    {
      "mcpServers": {
        "postgresql-mcp": {
          "command": "node",
          "args": ["/path/to/postgresql-mcp-server/build/index.js"],
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    

开发

  • npm run dev - 启动具有热重载的开发服务器
  • npm run lint - 运行 ESLint
  • npm test - 运行测试

安全考虑

  1. 连接安全

    • 使用连接池
    • 实现连接超时
    • 验证连接字符串
    • 支持 SSL/TLS 连接
  2. 查询安全性

    • 验证 SQL 查询
    • 防止危险操作
    • 实现查询超时
    • 记录所有操作
  3. 身份验证

    • 支持多种身份验证方法
    • 实现基于角色的访问控制
    • 强制执行密码策略
    • 安全管理连接凭证

最佳实践

  1. 始终使用带有适当凭据的安全连接字符串
  2. 对于敏感环境,遵循生产安全建议
  3. 定期监控和分析数据库性能
  4. 保持 PostgreSQL 版本最新
  5. 实施适当的备份策略
  6. 使用连接池以更好地管理资源
  7. 实施适当的错误处理和日志记录
  8. 定期进行安全审计和更新

错误处理

服务器实现了全面的错误处理:

  • 连接失败
  • 查询超时
  • 身份验证错误
  • 权限问题
  • 资源限制

运行评估和测试

评估包加载一个 mcp 客户端,然后运行 index.ts 文件,因此在测试之间不需要重新构建。您可以在此处查看完整的文档 这里

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建拉取请求

许可证

本项目根据 AGPLv3 许可证发布 - 查看 LICENSE 文件获取详情。