PostgreSQL MCP Server

PostgreSQL MCP Server

镜子 (jìng zi)

MCP-Mirror

数据库
访问服务器

README

PostgreSQL MCP 服务器

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

功能

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 实例的网络访问

安装

  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. 定期安全审计和更新

错误处理

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

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

贡献

  1. Fork 存储库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建一个 Pull Request

许可证

该项目根据 AGPLv3 许可证获得许可 - 有关详细信息,请参见 LICENSE 文件。

推荐服务器

Supabase MCP Server

Supabase MCP Server

一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。

精选
JavaScript
MCP DuckDB Knowledge Graph Memory Server

MCP DuckDB Knowledge Graph Memory Server

一个为 Claude 设计的记忆服务器,它使用 DuckDB 存储和检索知识图谱数据,从而增强了对话的性能和查询能力,并能持久保存用户信息。

精选
TypeScript
Metabase MCP Server

Metabase MCP Server

使人工智能助手能够与 Metabase 数据库和仪表板进行交互,允许用户通过自然语言列出和执行查询、访问数据可视化以及与数据库资源进行交互。

精选
JavaScript
Airtable MCP Server

Airtable MCP Server

一个模型上下文协议(Model Context Protocol,MCP)服务器,它提供通过 Claude Desktop 或其他 MCP 客户端以编程方式管理 Airtable 数据库、表格、字段和记录的工具。

精选
JavaScript
mcp-shodan

mcp-shodan

用于查询 Shodan API 和 Shodan CVEDB 的 MCP 服务器。该服务器提供 IP 查询、设备搜索、DNS 查询、漏洞查询、CPE 查询等工具。

精选
JavaScript
Verodat MCP Server

Verodat MCP Server

一个 MCP 服务器,集成了 Verodat 的数据管理功能和像 Claude Desktop 这样的人工智能系统,使用户能够管理账户、工作区和数据集,并能对他们的数据执行人工智能驱动的查询。

官方
本地
TypeScript
Tembo MCP Server

Tembo MCP Server

一个 MCP 服务器,它使 Claude 能够与 Tembo Cloud 平台 API 交互,从而允许用户通过自然语言管理 Tembo Cloud 资源。

官方
TypeScript
MongoDB MCP Server

MongoDB MCP Server

为LLM提供对MongoDB数据库的只读访问权限,以检查集合模式并执行聚合管道。

官方
JavaScript
nile-mcp

nile-mcp

Nile数据库的MCP服务器 - 使用LLM管理和查询数据库、租户、用户和身份验证

官方
TypeScript
Appwrite MCP Server

Appwrite MCP Server

一个模型上下文协议服务器,允许 AI 助手与 Appwrite 的 API 交互,从而提供管理 Appwrite 项目中数据库、用户、函数、团队和其他资源的工具。

官方
Python