mcpField
P
PostgreSQL MCP Server

PostgreSQL MCP Server

本地服务
github.com/nahmanmate数据库2478 周前更新

关于 PostgreSQL MCP Server

PostgreSQL MCP Server 是一个提供 PostgreSQL 数据库管理能力的 MCP 服务,用于分析现有数据库环境、提供部署指导并排查数据库问题。适合需要通过 AI 助手辅助数据库运维的开发者与管理员。

主要功能

  1. 01analyze_database:配置、性能与安全分析
  2. 02get_setup_instructions:按平台给出安装与配置步骤
  3. 03debug_database:排查连接、性能、锁与复制问题
  4. 04支持 SSL/TLS 连接与连接超时设置
  5. 05查询验证与操作日志记录

适用场景

  1. 01分析生产数据库的配置与性能指标
  2. 02按 Linux、macOS 或 Windows 生成 PostgreSQL 安装指南
  3. 03排查数据库连接失败或锁冲突

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 analyze_database、get_setup_instructions 和 debug_database 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"postgresql": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

PostgreSQL MCP 服务

smithery badge

一个提供 PostgreSQL 数据库管理能力的 Model Context Protocol (MCP) 服务。该服务可协助分析现有 PostgreSQL 部署、提供实施指导,并调试数据库问题。

PostgreSQL Server MCP server

功能

1. 数据库分析 (analyze_database)

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

  • 配置分析
  • 性能指标
  • 安全评估
  • 优化建议
// Example usage
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "analysisType": "performance" // Optional: "configuration" | "performance" | "security"
}
2. 安装说明 (get_setup_instructions)

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

  • 针对特定平台的安装步骤
  • 配置建议
  • 安全最佳实践
  • 安装后任务
// Example usage
{
  "platform": "linux", // Required: "linux" | "macos" | "windows"
  "version": "15", // Optional: PostgreSQL version
  "useCase": "production" // Optional: "development" | "production"
}
3. 数据库调试 (debug_database)

调试常见的 PostgreSQL 问题:

  • 连接问题
  • 性能瓶颈
  • 锁冲突
  • 复制状态
// Example usage
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "issue": "performance", // Required: "connection" | "performance" | "locks" | "replication"
  "logLevel": "debug" // Optional: "info" | "debug" | "trace"
}

前置要求

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

安装

通过 Smithery 安装

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

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 文件,因此测试之间无需重新构建。你可以查看完整文档 here。

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

贡献

  1. Fork 仓库
  2. 创建功能分支
  3. 提交你的更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

本项目基于 AGPLv3 许可证授权 - 详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。