关于 MySQL Readonly MCP Server
MySQL Readonly MCP Server 通过 MCP 提供 MySQL 只读访问,适用于需要查询行数限制、参数化查询和写操作防护的数据库场景。
主要功能
- 01MySQL 只读查询
- 02连接池管理
- 03参数化查询
- 04自动限制返回行数
- 05检查并阻止写操作
适用场景
- 01让 Agent 安全读取数据库记录
- 02在默认行数上限内查看查询结果
MCP 相关
这是一个 MCP 服务,开放安全的 MySQL 只读查询,并限制非只读操作和返回行数。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEMySQL Readonly MCP Server
这是一个基于MCP(Model Context Protocol)的MySQL只读查询服务器,它允许通过安全的只读查询接口访问MySQL数据库。
功能特点
- 支持MySQL数据库的只读查询操作
- 使用连接池管理数据库连接
- 自动限制查询结果数量
- 支持参数化查询
- 提供格式化的查询结果输出
- 内置安全检查,防止非只读操作
环境要求
- Python 3.10+
- MySQL 5.7+
- aiomysql
安装
git clone https://github.com/the-nine-nation/mysql-mcp.git
pip install -e .
使用方法
以cursor为例,将如下字典放入config.json: 其中 sys.executable为python虚拟环境的执行文件,通常名字为python,conda或uv下皆可以 mysql_mcp_py为main.py文件的绝对路径
"mysql": {
"command": sys.executable,
"args": [mysql_mcp_py],
"env": {
"MYSQL_ENABLED": "true",
"MYSQL_HOST": "mysql数据库的ip",
"MYSQL_PORT": "mysql数据库的端口",
"MYSQL_DATABASE": "mysql数据库的名称",
"MYSQL_USERNAME": "mysql数据库的用户名",
"MYSQL_PASSWORD": "mysql数据库的密码",
"MYSQL_POOL_MINSIZE": "1",
"MYSQL_POOL_MAXSIZE": "10",
"MYSQL_RESOURCE_DESC_FILE": "mysql数据库的资源描述文件路径"
}
}
请注意: 1.MYSQL_RESOURCE_DESC_FILE是一个说明,可以将数据库中一些信息放入其中,例如什么表是做什么用的,能够提升模型理解能力. 2.MYSQL_ENABLED默认可以不用填
安全特性
- 只允许只读操作
- 防止多语句执行
- 自动限制查询结果数量
- 使用参数化查询防止SQL注入
注意事项
- 确保数据库用户只有只读权限
- 资源描述文件是必需的,用于定义可用的查询接口
- 查询结果默认限制为20行,可通过环境变量调整
贡献
欢迎提交Issue和Pull Request。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。