MySQL分析工具

一个独立的MCP服务器,提供静态分析MySQL数据库的工具集,专注于模式完整性、命名规范和性能指标。

  • by Ray0907
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ray0907/mysql-analyzer-mcp

使用说明

MySQL分析器MCP服务器

一个独立的模型上下文协议(MCP)服务器,提供一套MySQL数据库静态分析工具,重点关注模式完整性、命名约定和性能指标。

🏷️ 命名约定

此MCP服务器强制执行现代、一致的命名约定:

  • 表格: CamelCase (例如。, Users, ProductCategories)
  • 列: snake_case (例如。, user_id, created_at)
  • 指标和约束: snake_case 带有前缀(例如。, uk_users_email, idx_orders_status)

🚀 快速开始

1.设置环境

创建一个 .env 示例中的文件:

cp .env.example .env

然后,编辑 .env 使用您的数据库凭据创建文件。

2.构建和安装

运行构建脚本以设置虚拟环境并安装依赖项:

./build.sh

3.运行MCP服务器

激活虚拟环境并运行服务器:

source .venv/bin/activate
python src/mysql_analyzer_mcp/server.py

4.使用MCP检查员进行测试

您可以使用MCP检查器测试服务器:

npx @modelcontextprotocol/inspector python src/mysql_analyzer_mcp/server.py

🛠️ MCP工具

此服务器提供了一套工具来分析和改进MySQL数据库。

可用工具

  • analyze_naming_conventions:分析表名和列名,并可以生成SQL补丁来修复它们。
  • analyze_database_indexes:检查是否存在冗余或缺失的索引。
  • analyze_database_performance:识别潜在的性能瓶颈。
  • analyze_database_schema:验证模式最佳实践(例如,字符集、排序规则)。
  • comprehensive_analysis:运行所有分析并提供摘要报告。
  • generate_sql_patches:为特定问题生成SQL修补程序。

Claude中的示例用法

  • “分析我的MySQL数据库命名约定并生成修复程序。”
  • “对我的数据库进行全面分析。”
  • “检查我的数据库索引是否冗余。”

🏗️ 项目结构

mysql-analyzer-mcp/
├── src/
│   └── mysql_analyzer_mcp/
│       ├── __init__.py
│       └── server.py              # Main MCP server logic using the official MCP SDK
├── analyzers/
│   ├── __init__.py
│   ├── naming_analyzer.py
│   ├── index_analyzer.py
│   ├── schema_analyzer.py
│   ├── performance_analyzer.py
│   └── utils.py                 # Shared database utility functions
├── build.sh                       # Build and setup script
├── config.py                      # Centralized configuration management
├── db_connector.py                # Database connection handling
├── patch_generator.py             # SQL patch generation logic
├── pyproject.toml                 # Package configuration
├── requirements.txt               # Dependencies
└── .env.example                   # Environment template

🔧 配置

所有工具参数和环境变量都记录在服务器的工具定义中,可以通过MCP进行检查。


内置于❤️ 遵循模型上下文协议标准。