{"id":28768979,"url":"https://github.com/wenb1n-dev/mysql_mcp_server_pro","last_synced_at":"2026-08-27T23:55:52.588Z","repository":{"id":286078250,"uuid":"960292911","full_name":"wenb1n-dev/mysql_mcp_server_pro","owner":"wenb1n-dev","description":"Model Context Protocol (MCP) server that supports secure interaction with MySQL databases and has anomaly analysis capabilities.更加牛逼！更加好用！不仅止于mysql的增删改查功能； 还包含了数据库异常分析能力；且便于开发者们进行个性化的工具扩展 ","archived":false,"fork":false,"pushed_at":"2025-08-28T13:50:15.000Z","size":212,"stargazers_count":247,"open_issues_count":14,"forks_count":44,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-08-06T09:53:10.222Z","etag":null,"topics":["ai","mcp-server","model-context-protocol","mysql","oauth2"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wenb1n-dev.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-04T07:22:49.000Z","updated_at":"2026-07-29T06:50:07.000Z","dependencies_parsed_at":"2025-04-17T15:53:38.783Z","dependency_job_id":"af4be3b3-a6d7-4758-9457-9c3eeff6c349","html_url":"https://github.com/wenb1n-dev/mysql_mcp_server_pro","commit_stats":null,"previous_names":["xwb602625136/mcp_mysql_server","wenb1n-dev/mysql_mcp_server_pro"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/wenb1n-dev/mysql_mcp_server_pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenb1n-dev%2Fmysql_mcp_server_pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenb1n-dev%2Fmysql_mcp_server_pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenb1n-dev%2Fmysql_mcp_server_pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenb1n-dev%2Fmysql_mcp_server_pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wenb1n-dev","download_url":"https://codeload.github.com/wenb1n-dev/mysql_mcp_server_pro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenb1n-dev%2Fmysql_mcp_server_pro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36947771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-27T02:00:07.166Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","mcp-server","model-context-protocol","mysql","oauth2"],"created_at":"2025-06-17T13:03:33.526Z","updated_at":"2026-08-27T23:55:52.583Z","avatar_url":"https://github.com/wenb1n-dev.png","language":"Python","funding_links":[],"categories":["Databases","Database \u0026 Messaging MCP Servers","📚 Projects (1974 total)","پیاده‌سازی‌های سرور","🗄️ Database","MCP Servers","Server Implementations"],"sub_categories":["SQL Databases","MCP Servers","🗄️ \u003ca name=\"databases\"\u003e\u003c/a\u003eپایگاه‌های داده","How to Submit","Databases","🗄️ \u003ca name=\"databases\"\u003e\u003c/a\u003eDatabases"],"readme":"[![简体中文](https://img.shields.io/badge/简体中文-点击查看-orange)](README-zh.md)\n[![English](https://img.shields.io/badge/English-Click-yellow)](README.md)\n[![MseeP.ai Security Assessment Badge](https://mseep.net/mseep-audited.png)](https://mseep.ai/app/wenb1n-dev-mysql-mcp-server-pro)\n[![MCPHub](https://img.shields.io/badge/mcphub-audited-blue)](https://mcphub.com/mcp-servers/wenb1n-dev/mysql_mcp_server_pro)\n\n\u003e 推荐使用新项目 ： https://github.com/wenb1n-dev/SmartDB_MCP \n\u003e SmartDB是一个通用数据库网关，支持跨库查询，支持多库连接，支持mysql，postgresql，oracle，mssql，也同样欢迎点赞支持，动力才满满。\n\n# mcp_mysql_server_pro\n## 好用就帮忙点个赞，支持一下呀，最好两个项目都点点，拜托各位精英们～。\n\n## 介绍\nmcp_mysql_server_pro 不仅止于mysql的增删改查功能，还包含了数据库异常分析能力，且便于开发者们进行个性化的工具扩展\n\n- 支持 Model Context Protocol (MCP) 所有传输模式（STDIO、SSE、Streamable Http）\n- 支持 Oauth2 认证\n- 支持 支持多sql执行，以\";\"分隔。 \n- 支持 根据表注释可以查询出对于的数据库表名，表字段\n- 支持 sql执行计划分析\n- 支持 中文字段转拼音.\n- 支持 锁表分析\n- 支持 运行健康状态分析\n- 支持权限控制，只读（readonly）、读写（writer）、管理员（admin）\n    ```\n    \"readonly\": [\"SELECT\", \"SHOW\", \"DESCRIBE\", \"EXPLAIN\"],  # 只读权限\n    \"writer\": [\"SELECT\", \"SHOW\", \"DESCRIBE\", \"EXPLAIN\", \"INSERT\", \"UPDATE\", \"DELETE\"],  # 读写权限\n    \"admin\": [\"SELECT\", \"SHOW\", \"DESCRIBE\", \"EXPLAIN\", \"INSERT\", \"UPDATE\", \"DELETE\", \n             \"CREATE\", \"ALTER\", \"DROP\", \"TRUNCATE\"]  # 管理员权限\n    ```\n- 支持 prompt 模版调用\n\n## 工具列表\n| 工具名称                  | 描述                                                                                                                                 |\n|-----------------------|------------------------------------------------------------------------------------------------------------------------------------| \n| execute_sql           | sql执行工具，根据权限配置可执行[\"SELECT\", \"SHOW\", \"DESCRIBE\", \"EXPLAIN\", \"INSERT\", \"UPDATE\", \"DELETE\", \"CREATE\", \"ALTER\", \"DROP\", \"TRUNCATE\"] 命令 |\n| get_chinese_initials  | 将中文字段名转换为拼音首字母字段                                                                                                                   |\n| get_db_health_running | 分析mysql的健康状态（连接情况、事务情况、运行情况、锁情况检测）                                                                                                 |\n| get_table_desc        | 根据表名搜索数据库中对应的表结构,支持多表查询                                                                                                            |\n| get_table_index       | 根据表名搜索数据库中对应的表索引,支持多表查询                                                                                                            |\n| get_table_lock        | 查询当前mysql服务器是否存在行级锁、表级锁情况                                                                                                          |\n| get_table_name        | 根据表注释、表描述搜索数据库中对应的表名                                                                                                               |\n| get_db_health_index_usage | 获取当前连接的mysql库的索引使用情况,包含冗余索引情况、性能较差的索引情况、未使用索引且查询时间大于30秒top5情况                                                                      |\n| use_prompt_queryTableData | 使用内置提示词，让模型构建一个链式调用mcp中的工具(不作为常用固定工具，需自行调整代码开启，详见该类)                                                                               |\n| optimize_sql |  专业的SQL性能优化工具，基于MySQL执行计划、表结构信息、表数据量、表索引提供专家级优化建议。 | \n\n## prompt 列表\n| prompt名称                   | 描述                                                                                                                                 |\n|----------------------------|------------------------------------------------------------------------------------------------------------------------------------| \n| analyzing-mysql-prompt     | 这是分析mysql相关问题的提示词       |\n| query-table-data-prompt    | 这是通过调用工具查询表数据的提示词，描述可以为空，空时则会初始化为mysql数据库数据查询助手  |\n\n## 使用说明\n\n### pip安装和配置\n1. 安装包\n```bash\npip install mysql_mcp_server_pro\n\n参数说明\n--mode：传输模式（“stdio”，“sse”，“streamablehttp”）\n--envfile 环境变量文件路径\n--oauth 启用 oauth 认证（目前仅支持“streamablehttp”模式）\n```\n\n2. 配置环境变量\n创建一个 `.env` 文件，内容如下：\n```bash\n# MySQL数据库配置\nMYSQL_HOST=localhost\nMYSQL_PORT=3306\nMYSQL_USER=your_username\nMYSQL_PASSWORD=your_password\nMYSQL_DATABASE=your_database\n# 可选值: readonly, writer, admin，默认为 readonly\nMYSQL_ROLE=readonly\n```\n\n3. 运行服务\n```bash\n# SSE 模式\nmysql_mcp_server_pro --mode sse --envfile /path/to/.env\n\n## Streamable Http 模式 默认该方式\nmysql_mcp_server_pro --envfile /path/to/.env\n\n# Streamable Http 模式 启动oauth认证\nmysql_mcp_server_pro --oauth true\n\n```\n\n4. 在mcp 客户端配置上。详细看下方的sse启动\n\n\n\n注意：\n- `.env` 文件应该放在运行命令的目录下或者使用--envfile参数自定义路径\n- 也可以直接在环境中设置这些变量\n- 确保数据库配置正确且可以连接\n\n\n### 使用 uvx 运行，客户端配置\n- 该方式直接在支持mcp 客户端上配置即可，无需下载源码。如通义千问插件，trae编辑工具等\n```\n{\n\t\"mcpServers\": {\n\t\t\"mysql\": {\n\t\t\t\"command\": \"uvx\",\n\t\t\t\"args\": [\n\t\t\t\t\"--from\",\n\t\t\t\t\"mysql_mcp_server_pro\",\n\t\t\t\t\"mysql_mcp_server_pro\",\n\t\t\t\t\"--mode\",\n\t\t\t\t\"stdio\"\n\t\t\t],\n\t\t\t\"env\": {\n\t\t\t\t\"MYSQL_HOST\": \"192.168.x.xxx\",\n\t\t\t\t\"MYSQL_PORT\": \"3306\",\n\t\t\t\t\"MYSQL_USER\": \"root\",\n\t\t\t\t\"MYSQL_PASSWORD\": \"root\",\n\t\t\t\t\"MYSQL_DATABASE\": \"a_llm\",\n\t\t\t\t\"MYSQL_ROLE\": \"admin\"\n\t\t\t}\n\t\t}\n\t}\n}\n\n```\n\n### 本地开发 Streamable Http 方式\n\n- 使用 uv 启动服务\n\n将以下内容添加到你的 mcp client 工具中，例如cursor、cline等\n\nmcp json 如下\n````\n{\n  \"mcpServers\": {\n    \"mysql_mcp_server_pro\": {\n      \"name\": \"mysql_mcp_server_pro\",\n      \"type\": \"streamableHttp\",\n      \"description\": \"\",\n      \"isActive\": true,\n      \"url\": \"http://localhost:3000/mcp/\"\n    }\n  }\n}\n````\n\n修改.env 文件内容,将数据库连接信息修改为你的数据库连接信息\n```\n# MySQL数据库配置\nMYSQL_HOST=192.168.xxx.xxx\nMYSQL_PORT=3306\nMYSQL_USER=root\nMYSQL_PASSWORD=root\nMYSQL_DATABASE=a_llm\nMYSQL_ROLE=admin\n```\n\n启动命令\n```\n# 下载依赖\nuv sync\n\n# 启动\nuv run -m mysql_mcp_server_pro.server\n\n# 自定义env文件位置\nuv run -m mysql_mcp_server_pro.server --envfile /path/to/.env\n\n# 启动oauth认证\nuv run -m mysql_mcp_server_pro.server --oauth true\n```\n\n### 本地开发 SSE 方式\n\n- 使用 uv 启动服务\n\n将以下内容添加到你的 mcp client 工具中，例如cursor、cline等\n\nmcp json 如下\n````\n{\n  \"mcpServers\": {\n    \"mysql_mcp_server_pro\": {\n      \"name\": \"mysql_mcp_server_pro\",\n      \"description\": \"\",\n      \"isActive\": true,\n      \"url\": \"http://localhost:9000/sse\"\n    }\n  }\n}\n````\n\n修改.env 文件内容,将数据库连接信息修改为你的数据库连接信息\n```\n# MySQL数据库配置\nMYSQL_HOST=192.168.xxx.xxx\nMYSQL_PORT=3306\nMYSQL_USER=root\nMYSQL_PASSWORD=root\nMYSQL_DATABASE=a_llm\nMYSQL_ROLE=admin\n```\n\n启动命令\n```\n# 下载依赖\nuv sync\n\n# 启动\nuv run -m mysql_mcp_server_pro.server --mode sse\n\n# 自定义env文件位置\nuv run -m mysql_mcp_server_pro.server --mode sse --envfile /path/to/.env\n```\n\n### 本地开发 STDIO 方式 \n\n将以下内容添加到你的 mcp client 工具中，例如cursor、cline等\n\nmcp json 如下\n```\n{\n  \"mcpServers\": {\n      \"operateMysql\": {\n        \"isActive\": true,\n        \"name\": \"operateMysql\",\n        \"command\": \"uv\",\n        \"args\": [\n          \"--directory\",\n          \"/Volumes/mysql_mcp_server_pro/src/mysql_mcp_server_pro\",    # 这里需要替换为你的项目路径\n          \"run\",\n          \"-m\",\n          \"mysql_mcp_server_pro.server\",\n          \"--mode\",\n          \"stdio\"\n        ],\n        \"env\": {\n          \"MYSQL_HOST\": \"localhost\",\n          \"MYSQL_PORT\": \"3306\",\n          \"MYSQL_USER\": \"root\", \n          \"MYSQL_PASSWORD\": \"123456\",\n          \"MYSQL_DATABASE\": \"a_llm\",\n          \"MYSQL_ROLE\": \"admin\"\n       }\n    }\n  }\n}  \n```\n\n## 个性扩展工具\n1. 在handles包中新增工具类，继承BaseHandler，实现get_tool_description、run_tool方法\n\n2. 在__init__.py中引入新工具即可在server中调用\n\n## OAuth2.0 认证\n1. 启动认证服务,默认使用自带的OAuth 2.0 密码模式认证，可以在env中修改自己的认证服务地址\n```aiignore\nuv run -m mysql_mcp_server_pro.server --oauth true\n```\n\n2. 访问 认证服务 http://localhost:3000/login ，默认帐号密码在 env 中配置\n ![image](https://github.com/user-attachments/assets/ec8a629e-62f9-4b93-b3cc-442b3d2dc46f)\n\n4. 复制 token ，将token 添加在请求头中，例如\n![image](https://github.com/user-attachments/assets/a5451e35-bddd-4e49-8aa9-a4178d30ec88)\n```json\n{\n  \"mcpServers\": {\n    \"mysql_mcp_server_pro\": {\n      \"name\": \"mysql_mcp_server_pro\",\n      \"type\": \"streamableHttp\",\n      \"description\": \"\",\n      \"isActive\": true,\n      \"url\": \"http://localhost:3000/mcp/\",\n      \"headers\": {\n        \"authorization\": \"bearer TOKEN值\"\n      }\n    }\n  }\n}\n```\n\n\n## 工具调用示例\n1. 创建新表以及插入数据 prompt格式如下\n```\n# 任务\n   创建一张组织架构表，表结构如下：部门名称，部门编号，父部门，是否有效。\n# 要求\n - 表名用t_admin_rms_zzjg,\n - 字段要求：字符串类型使用'varchar(255)'，整数类型使用'int',浮点数类型使用'float'，日期和时间类型使用'datetime'，布尔类型使用'boolean'，文本类型使用'text'，大文本类型使用'longtext'，大整数类型使用'bigint'，大浮点数类型使用'double。\n - 表头需要加入主键字段，序号 XH varchar(255)\n - 表最后需加入固定字段：创建人-CJR varchar(50)，创建时间-CJSJ datetime，修改人-XGR varchar(50)，修改时间-XGSJ datetime。\n - 字段命名使用工具返回内容作为字段命名\n - 常用字段需要添加索引\n - 每个字段需要添加注释，表注释也需要\n - 创建完成后生成5条真实数据\n```\n![image](https://github.com/user-attachments/assets/8a07007f-7375-4fb3-b69e-7ef9ffd68044)\n\n\n2. 根据表注释查询数据 prompt如下\n```\n查询用户信息表中张三的数据\n```\n![image](https://github.com/user-attachments/assets/fb57aae3-1e50-4bc8-98d9-36e377cc9722)\n\n\n3. 分析慢sql prompt如下\n```\nselect * from t_jcsjzx_hjkq_cd_xsz_sk xsz\nleft join t_jcsjzx_hjkq_jcd jcd on jcd.cddm = xsz.cddm \n根据当前的索引情况，查看执行计划提出优化意见，以markdown格式输出，sql相关的表索引情况、执行情况，优化意见\n```\n\n4. 分析sql卡死问题 prompt如下\n```\nupdate t_admin_rms_zzjg set sfyx = '0' where xh = '1' 卡死了，请分析原因\n```\n![image](https://github.com/user-attachments/assets/e99576f0-a50f-457c-ad48-9e9c45391b89)\n\n\n5. 分析健康状态 prompt如下\n```\n检测mysql当前的健康状态\n```\n![image](https://github.com/user-attachments/assets/156d91be-3140-4cf2-9456-c24eb268a0f0)\n\n## prompt 调用示例\n1.  mysql 分析prompt 调用示例\n   - step1: 选择 analyzing-mysql-prompt\n\n   ![image](https://github.com/user-attachments/assets/3be1ad59-2b1e-452b-bef4-564f0a754e74)\n\n   - step2: 自动生成对应prompt\n\n   ![image](https://github.com/user-attachments/assets/9438dba0-c003-4d14-bfe8-401f32f71b07)\n\n   - step3: 开始问答\n\n   ![image](https://github.com/user-attachments/assets/9eefbb82-794d-4cb2-82e1-4debe237d86a)\n\n2. 表数据查询 prompt 调用示例\n   - step1: 选择 query-table-data-prompt\n   \n   ![image](https://github.com/user-attachments/assets/768ff4cc-be89-42b0-802f-4e41f105db11)\n\n   - step2: 输入问题描述（可选），不输入则会初始化为mysql数据查询助手\n   \n   ![image](https://github.com/user-attachments/assets/968e7cfd-4dfe-47b5-9fc3-49cbf07a7a78)\n\n   ![image](https://github.com/user-attachments/assets/3e1f80c1-2cff-471a-997a-94b8104e1b9b)\n\n   \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenb1n-dev%2Fmysql_mcp_server_pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwenb1n-dev%2Fmysql_mcp_server_pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenb1n-dev%2Fmysql_mcp_server_pro/lists"}