
PostgreSQL Analyzer MCP

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)
安装教程
- 克隆仓库:
bash git clone https://github.com/yourusername/postgres-performance-mcp.git cd postgres-performance-mcp
- 安装依赖:
bash pip install -r requirements.txt
- 配置数据库凭证:
- 选项1:存储在 AWS Secrets Manager 中(推荐)
- 选项2:直接提供凭证
调试方式
- 启动服务器:
bash python server.py --host 0.0.0.0 --port 8000
- 配置 MCP 客户端:
Server URL: http://your-server-address:8000/ Transport: SSE (Server-Sent Events)
- 使用工具:
analyze_database_structure(secret_name="my-postgres-db-credentials", region_name="us-west-2")