PostgreSQL Analyzer MCP

PostgreSQL Analyzer MCP

site icon
2025.05.03 0
Python数据库性能分析查询优化索引管理数据库
PostgreSQL Analyzer MCP 是一个基于模型上下文协议(MCP)的服务,专门用于 PostgreSQL 数据库的性能分析和优化。它利用人工智能技术,为数据库管理员和开发者提供全面的数据库结构分析、查询性能分析、索引使用情况分析以及配置设置建议。该工具以远程 MCP 服务器的形式运行,使用 Server-Sent Events (SSE) 传输协议,可以与任何支持 MCP 协议的客户端兼容,包括 Amazon Q Developer CLI 和 Claude 等 AI 助手。
View on GitHub

Overview

基本能力

产品定位

PostgreSQL Analyzer MCP 是一个专为 PostgreSQL 数据库设计的性能分析和优化工具,旨在帮助数据库管理员和开发者提升数据库性能。

核心功能

  • 数据库结构分析:分析表、列、索引和外键
  • 查询性能分析:分析执行计划并识别瓶颈
  • 索引推荐:根据查询模式建议新索引
  • 查询优化:提供查询重写建议以提高性能
  • 慢查询识别:查找并分析慢查询
  • 数据库健康仪表盘:提供数据库健康指标的全面概览
  • 索引使用分析:识别未使用、重复或膨胀的索引
  • 只读查询执行:安全执行只读查询进行验证

适用场景

  • PostgreSQL 数据库性能优化
  • 数据库结构分析和优化
  • 查询性能调优
  • 索引使用情况分析

工具列表

  • analyze_database_structure: 分析数据库结构并提供优化建议
  • get_slow_queries: 识别数据库中的慢查询
  • analyze_query: 分析 SQL 查询并提供优化建议
  • recommend_indexes: 为给定 SQL 查询推荐索引
  • suggest_query_rewrite: 为 SQL 查询提供优化重写建议
  • database_health_dashboard: 生成数据库健康仪表盘
  • query_optimization_wizard: 交互式向导逐步优化 SQL 查询
  • analyze_index_usage: 分析索引使用模式并识别未使用或低效索引
  • execute_read_only_query: 执行只读 SQL 查询并返回结果
  • show_postgresql_settings: 显示 PostgreSQL 配置设置
  • health_check: 检查服务器是否运行并响应

常见问题解答

  • 安全性:默认以只读模式运行,防止意外修改数据库
  • 实验性:该项目为实验性质,建议在生产环境中谨慎使用
  • AWS Secrets Manager:推荐使用 AWS Secrets Manager 存储数据库凭证

使用教程

使用依赖

  • Python 3.12+
  • Amazon Aurora 或 RDS PostgreSQL 数据库
  • AWS 账户(可选,用于 Secrets Manager)

安装教程

  1. 克隆仓库: bash git clone https://github.com/yourusername/postgres-performance-mcp.git cd postgres-performance-mcp
  2. 安装依赖: bash pip install -r requirements.txt
  3. 配置数据库凭证:
  4. 选项1:存储在 AWS Secrets Manager 中(推荐)
  5. 选项2:直接提供凭证

调试方式

  1. 启动服务器: bash python server.py --host 0.0.0.0 --port 8000
  2. 配置 MCP 客户端: Server URL: http://your-server-address:8000/ Transport: SSE (Server-Sent Events)
  3. 使用工具: analyze_database_structure(secret_name="my-postgres-db-credentials", region_name="us-west-2")

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。