modelscope·@mangooer/mysql-mcp-server-sse
一个基于MCP(模型-控制器-提供者)框架的服务器,通过SSE(服务器发送事件)提供MySQL数据库操作,实现MySQL数据库的实时数据传输。
这是一个基于MCP(Model-Controller-Provider)框架的MySQL查询服务器,提供了通过SSE(Server-Sent Events)进行MySQL数据库操作的功能。
系统提供以下四大类工具:
mysql_query: 执行任意SQL查询,支持参数化查询mysql_show_tables: 获取数据库中的表列表,支持模式匹配和限制结果数量mysql_show_columns: 获取表的列信息mysql_describe_table: 描述表结构mysql_show_create_table: 获取表的创建语句mysql_show_databases: 获取所有数据库列表,支持过滤系统数据库mysql_show_variables: 获取MySQL服务器变量mysql_show_status: 获取MySQL服务器状态信息mysql_show_indexes: 获取表的索引信息mysql_show_table_status: 获取表状态信息mysql_show_foreign_keys: 获取表的外键约束信息mysql_paginate_results: 提供结果分页功能git clone [项目地址]
cd mysql-query-server
pip install -r requirements.txt
.env.example文件并重命名为.env.env文件中的配置在.env文件中配置以下参数:
HOST: 服务器监听地址(默认:127.0.0.1)PORT: 服务器监听端口(默认:3000)MYSQL_HOST: MySQL服务器地址MYSQL_PORT: MySQL服务器端口MYSQL_USER: MySQL用户名MYSQL_PASSWORD: MySQL密码MYSQL_DATABASE: MySQL数据库名ENV_TYPE: 环境类型(development/production)ALLOWED_RISK_LEVELS: 允许的风险等级(LOW/MEDIUM/HIGH/CRITICAL)BLOCKED_PATTERNS: 禁止的SQL模式(正则表达式,用逗号分隔)ENABLE_QUERY_CHECK: 是否启用SQL安全检查(true/false)ALLOW_SENSITIVE_INFO: 是否允许查询敏感信息(true/false)SENSITIVE_INFO_FIELDS: 自定义敏感字段模式列表(逗号分隔)系统会自动检测并隐藏包含以下关键词的变量/状态值:
运行以下命令启动服务器:
python src/server.py
服务器将在配置的地址和端口上启动,默认为 http://127.0.0.1:3000/sse
.
├── src/ # 源代码目录
│ ├── server.py # 主服务器文件
│ ├── db/ # 数据库相关代码
│ │ └── mysql_operations.py # MySQL操作实现
│ ├── security/ # SQL安全相关代码
│ │ ├── interceptor.py # SQL拦截器
│ │ ├── query_limiter.py # SQL安全检查器
│ │ └── sql_analyzer.py # SQL分析器
│ └── tools/ # 工具类代码
│ ├── mysql_tool.py # 基础查询工具
│ ├── mysql_metadata_tool.py # 元数据查询工具
│ ├── mysql_info_tool.py # 数据库信息查询工具
│ ├── mysql_schema_tool.py # 表结构高级查询工具
│ └── metadata_base_tool.py # 元数据工具基类
├── tests/ # 测试代码目录
├── .env.example # 环境变量示例文件
└── requirements.txt # 项目依赖文件
服务器包含完整的日志记录系统,可以在控制台和日志文件中查看运行状态和错误信息。日志级别可以在server.py中配置。
服务器包含完善的错误处理机制:
欢迎提交Issue和Pull Request来改进项目。
MIT License
版权所有 (c) 2024 MCP MySQL 查询服务器
特此免费授予任何获得本软件副本和相关文档文件("软件")的人不受限制地处理本软件的权利,包括不受限制地使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本,以及允许本软件的使用者这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。
本软件按"原样"提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、特定用途的适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他方面,产生于、源于或与本软件有关,或与本软件的使用或其他交易有关。
请注意,翻译时保持了原有的 Markdown 格式,并保留了所有代码块和链接内容。不过,原文并没有包含实际的代码块或链接,因此在这个例子中没有具体展示这些元素。如果有具体的代码块或链接需要翻译,请提供详细信息以便更准确地处理。
审计 npm 包依赖项以查找安全漏洞,提供详细的报告和修复建议,并集成 MCP。
通过API层将克劳德桌面版直接连接到数据库,使其能够探索数据库结构、编写SQL查询、分析数据集和创建报告。该API层还包含用于表探索和查询执行的工具。
DBCode 是一个 Visual Studio Code 扩展,允许你管理许多数据库,包括 PostgreSQL、MySQL、SQL Server、DuckDB、Redis、MongoDB 等更多数据库。 DBCode 提供了运行 MCP 服务器的选项,可以访问这些数据库、它们的模式以及执行查询的能力。
AI 首选的统一数据访问通道,支持30多种数据源(阿里云全系/主流数据库/数仓)的安全访问。
后端服务,实现了模型控制面板协议,可连接到 Apache Doris 数据库,允许用户执行 SQL 查询、管理元数据,并且有可能利用大语言模型(LLMs)完成自然语言到 SQL 的转换等任务。
提供对Excel文件的操纵功能。此服务器启用工作簿创建、数据操纵、格式设置和高级Excel功能。