hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides environment variable management for configuring database credentials and server settings through .env files.
Supports containerized deployment of the MCP server through Docker, allowing configuration of database connection parameters and port mappings.
Includes Mermaid diagram support for visualizing the server architecture and data flow between components.
mysql-mcp-服务器
0.执行
使用 Docker 运行
根据需要更改数据库连接信息。
使用 Docker Compose 运行
这将按照预先配置的设置进行。
直接用Python运行
游标配置
Cursor 0.46 及以上版本提供 MCP 功能。
此外,只有 Cursor Pro 帐户用户可以访问 MCP 功能。
工具添加技巧
- 添加工具
execute
函数实现实际的逻辑执行(服务层)。@tool
装饰器帮助将工具注册到 MCP(控制器层)。
- 解释
mysql_mcp_server/executors
下的每个文件代表一个工具。- 如果添加了新工具,则必须在
mysql_mcp_server/executors/__init__.py
中导入并包含在__all__
数组中。 - 这可确保模块自动在
TOOLS_DEFINITION
变量中注册。
🚧 发展路线图🚧
- ⚙️ 参数选项
- [ ] 🔧 为每个工具启用/禁用开关:提供减少输入上下文成本的功能💰
- [ ] 🔒 查询安全级别设置:提供对可能损害资产价值的功能的可选控制,例如 DROP、DELETE、UPDATE 🚫
- ✨ 特点
- [x] 📊 数据分析报告生成:提供针对模型优化的报告生成功能,根据用户请求适当选择各种图表📈
- [x] 📝 规定表格的报告功能
- [ ] 🖌️ 多样化报告模板
- [ ] 🗄️ 扩展 Text2SQL 支持
- [ ] 🌐 SSH 连接支持:通过 SSH 启用安全远程访问以进行高级操作 🔑
- [ ] 📥 文件提取功能
- [ ] 📄 CSV
- [ ] 📑 JSON
- [ ] 📉 Excel
- [x] 📊 数据分析报告生成:提供针对模型优化的报告生成功能,根据用户请求适当选择各种图表📈
1.概述
MCP MySQL Server 是一个基于 MCP(模型上下文协议)的 MySQL 数据库操作服务器应用程序。该服务器提供允许 AI 模型与 MySQL 数据库交互的工具。
2.系统配置
2.1 关键组件
- MCP 服务器:与 AI 模型通信的 FastMCP 服务器
- MySQL 数据库:管理和存储数据
- 工具:执行数据库操作的执行器
2.2 技术栈
- 语言:Python
- 数据库:MySQL 8.0
- 主要库:
- mcp:实现用于 AI 通信的模型上下文协议
- PyMySQL:连接到 MySQL 并执行查询
- pandas:处理和分析数据
- python-dotenv:管理环境变量
- fire:实现命令行界面
2.3 部署环境
- 通过 Docker 和 Docker Compose 进行容器化部署
- 端口:8081(MCP 服务器)、3306(MySQL)
3.目录结构
4.架构设计
4.1 分层结构
- 接口层:MCP 服务器(FastMCP)
- 业务逻辑层:处理程序和执行程序
- 数据访问层:数据库连接和查询执行
4.2 关键类和模块
- MySQLMCPServer :初始化并运行 MCP 服务器的主服务器类
- DatabaseManager :基于单例模式的数据库连接管理器
- 执行器:数据库操作工具集合
- 执行_create_table:创建表
- 执行_desc_table:检查表模式
- 执行解释:提供查询执行计划
- 执行 INSETR 查询
- 执行 SELECT 查询
- 执行_show_tables:检索表列表
4.3 通信流程
- AI 模型向 MCP 服务器请求可用工具列表。
- 服务器返回可用的工具列表。
- AI模型请求执行特定的工具。
- 服务端调用相应的执行器执行数据库操作。
- 执行结果返回给AI模型。
5.可扩展性和维护
- 添加工具:在
executors
目录中实现新工具,并在__init__.py
中注册它们。 - 环境配置:通过
.env
文件管理环境变量。 - 日志记录:使用
logger_helper
确保日志记录的一致性。
6.部署和执行
6.1 本地执行
6.2 Docker部署
7.安全考虑
- 通过环境变量管理数据库凭证。
- 在生产环境中使用强密码。
- 必要时考虑对数据库连接实施 SSL/TLS 加密。
This server cannot be installed
一种服务器,使 AI 模型能够通过模型控制协议与 MySQL 数据库交互,提供用于表创建、模式检查、查询执行和数据检索的工具。
- 0. Execution
- 🚧 Development Roadmap 🚧
- 1. Overview
- 2. System Configuration
- 3. Directory Structure
- 4. Architecture Design
- 5. Scalability and Maintenance
- 6. Deployment and Execution
- 7. Security Considerations