Skip to main content
Glama

MySQL数据库 MCP 服务

这是一个专为 Cursor 设计的MySQL数据库 MCP (Model Context Protocol) 服务,提供表结构查询、文档生成和数据查询功能。

功能特性

  • Cursor 专用集成: 专为 Cursor MCP 协议设计的数据库服务

  • 多种安全模式: 支持只读、限制写入、完全访问三种安全级别

  • 表结构查询: 获取数据库表的详细结构信息

  • 文档生成: 生成 Markdown、JSON、SQL 格式的表结构文档

  • 数据库概览: 生成整个数据库的概览文档

  • SQL 查询执行: 根据安全模式执行不同级别的 SQL 操作

  • 查询缓存: 自动缓存查询结果,提升性能

安全模式

1. 只读模式 (readonly) - 默认模式

  • 仅允许 SELECT、SHOW、DESCRIBE、EXPLAIN 等查询操作

  • 禁止所有写入和危险操作

  • 适用于数据分析和报表查询

2. 限制写入模式 (limited_write)

  • 允许 SELECT、INSERT、UPDATE 操作

  • 禁止 DELETE、DROP、CREATE、ALTER 等危险操作

  • 适用于需要数据录入但要保护结构的场景

3. 完全访问模式 (full_access)

  • 允许所有 SQL 操作

  • 谨慎使用,仅在完全信任的环境中启用

  • 适用于数据库管理和维护

安装和配置

1. 本地安装依赖

cd mysql-mcp pip install -r requirements.txt

2. 在 Cursor 中配置

在 Cursor 的设置中找到 MCP 配置,添加以下内容:

{ "mcpServers": { "mysql-mcp": { "command": "python", "args": ["F:/path/to/mysql-mcp/main.py"], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "3306", "MYSQL_USERNAME": "your_username", "MYSQL_PASSWORD": "your_password", "MYSQL_DATABASE": "your_database", "MYSQL_SECURITY_MODE": "readonly", "MYSQL_ALLOWED_SCHEMAS": "*", "MYSQL_ENABLE_QUERY_LOG": "false" } } } }

3. 环境变量说明

必需环境变量:

  • MYSQL_HOST: 数据库主机地址

  • MYSQL_PORT: 数据库端口

  • MYSQL_USERNAME: 数据库用户名

  • MYSQL_PASSWORD: 数据库密码

  • MYSQL_DATABASE: 数据库名称

可选环境变量:

  • MYSQL_SECURITY_MODE: 安全模式 (readonly/limited_write/full_access,默认:readonly)

  • MYSQL_ALLOWED_SCHEMAS: 允许访问的数据库列表,支持三种配置方式:

    • "*": 允许访问所有有权限的数据库(推荐)

    • "auto": 自动发现有权限的数据库

    • "db1,db2,db3": 明确指定数据库列表(逗号分隔)

  • MYSQL_CONNECT_TIMEOUT: 连接超时时间(秒,默认:30)

  • MYSQL_QUERY_TIMEOUT: 查询超时时间(秒,默认:60)

  • MYSQL_MAX_RETRIES: 最大重试次数(默认:3)

  • MYSQL_ENABLE_QUERY_LOG: 是否启用查询日志(true/false,默认:false)

  • MYSQL_MAX_RESULT_ROWS: 最大返回行数(默认:1000)

使用示例

获取安全信息

在 Cursor 中输入:

@mysql-mcp 获取当前安全配置信息

查看可访问的数据库

@mysql-mcp 获取所有可访问的数据库

查询表列表

@mysql-mcp 列出 mydb 数据库中的所有表

查看表结构

@mysql-mcp 描述 users 表的结构

执行查询(只读模式)

@mysql-mcp 查询用户表前10条记录

生成表文档

@mysql-mcp 为users表生成Markdown文档

生成数据库概览

@mysql-mcp 生成mydb数据库的概览文档

可用工具

工具名称

功能描述

主要参数

test_connection

测试数据库连接

-

get_security_info

获取安全配置信息

-

list_tables

获取数据库表列表

database(可选)

describe_table

获取表详细结构

table_name, database(可选)

generate_table_doc

生成表文档

table_name, format, database(可选)

generate_database_overview

生成数据库概览

database(可选)

execute_query

执行SQL语句

sql

list_schemas

获取可用数据库列表

-

文档生成说明

文档生成功能会将生成的文档保存为实际文件:

  • 保存位置: mysql-mcp目录下的 docs/ 文件夹

  • 文件命名: {database}_{table_name}_{timestamp}.{ext} 格式

  • 支持格式: Markdown (.md)、JSON (.json)、SQL (.sql)

示例输出:

✅ 文档生成成功! 📁 保存路径: docs/mydb_users_20250110_142000.md 📂 MCP服务目录: F:/path/to/mysql-mcp 📊 表名: mydb.users 📝 格式: markdown ⏰ 生成时间: 2025-01-10 14:20:00

缓存管理

该服务提供查询缓存功能,自动缓存只读查询的结果:

# 获取缓存统计信息 @mysql-mcp 获取查询缓存统计信息 # 清空缓存 @mysql-mcp 清空查询缓存

安全注意事项

  1. 生产环境建议使用 readonly 模式

  2. 敏感环境中避免使用 full_access 模式

  3. 密码安全:避免在配置中使用弱密码

  4. 网络安全:确保数据库连接使用安全的网络通道

  5. 权限最小化:数据库用户只应获得必要的最小权限

错误处理

  • 配置错误: 检查 Cursor MCP 配置中的环境变量设置

  • 连接失败: 验证数据库连接参数和网络连通性

  • 权限不足: 检查数据库用户权限和安全模式设置

  • SQL 被拒绝: 当前安全模式不允许执行该类型的 SQL 操作

技术架构

核心模块

  • main.py: MCP服务主程序

  • config.py: 环境变量配置模块

  • database.py: 数据库操作和安全控制模块

  • document_generator.py: 文档生成模块

安全控制

  • 多级安全模式验证

  • SQL语句类型检查

  • 数据库访问权限控制

  • 查询结果行数限制

  • 连接超时和重试机制

MySQL适配

  • 使用 mysql-connector-python 驱动连接

  • 适配MySQL系统表查询语法

  • 支持MySQL约束类型识别

  • 适配MySQL数据类型映射

许可证

本项目基于 MIT 许可证 开源发布。

  • 自由使用: 允许任何人免费使用、复制、修改本软件

  • 商业友好: 支持商业使用和分发

  • 修改自由: 可以修改源代码并发布衍生作品

  • 最小限制: 只需保留版权声明即可


版本: 1.0.0
更新时间: 2025-01-10
设计目标: 专为MySQL数据库和 Cursor MCP 集成优化

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Gcluowenqiang/Mysql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server