MySQL 只读 MCP 服务器
这是一个基于 MCP(Model Context Protocol)的 MySQL 只读查询服务器,它允许通过安全的只读查询接口访问 MySQL 数据库。
功能特点
- 支持 MySQL 数据库的只读查询操作
- 使用连接池管理数据库连接
- 自动限制查询结果数量
- 支持参数化查询
- 提供格式化的查询结果输出
- 内置安全检查,防止非只读操作
环境要求
- Python 3.10+
- MySQL 5.7+
- aiomysql
安装
使用方法
以
cursor
为例,将如下字典放入 config.json
文件中。其中 sys.executable
为 Python 虚拟环境的执行文件,通常名字为 python
,在 conda
或 uv
下皆可。mysql_mcp_py
为 main.py
文件的绝对路径。请注意:
MYSQL_RESOURCE_DESC_FILE
是一个说明文件,可以将数据库中的一些信息放入其中,例如哪些表是做什么用的,能够提升模型的理解能力。
MYSQL_ENABLED
默认可以不填。
安全特性
- 只允许只读操作
- 防止多语句执行
- 自动限制查询结果数量
- 使用参数化查询防止 SQL 注入
注意事项
- 确保数据库用户只有只读权限
- 资源描述文件是必需的,用于定义可用的查询接口
- 查询结果默认限制为 20 行,可通过环境变量调整
贡献
欢迎提交 Issue 和 Pull Request。
- Author:waytomcp
- URL:https://www.waytomcp.com/article/the-nine-nation/mysql-mcp
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!