@davewind/mysql-mcp-server
一个基于 Model Context Protocol(MCP)的服务器,提供对 MySQL 数据库的只读访问。该服务器使 LLMs(大语言模型)能够检查数据库模式并执行只读查询。
主要特性
- 只读数据库访问:通过 SQL 验证和 READ ONLY 事务强制执行只读操作
- 模式发现:自动识别并暴露数据库表结构
- SQL 查询执行:提供接受并执行 SELECT 语句的查询工具
- Model Context Protocol 兼容性:实现 MCP 规范,与兼容的 LLMs 无缝集成
- 简单配置:设置简单,所需配置最少
工具
- query
- 对连接的数据库执行只读 SQL 查询
- 输入:
sql
(字符串):要执行的 SQL 查询 - 所有查询都在 READ ONLY 事务中执行
资源
服务器提供数据库中每个表的模式信息:
- 表模式 (
mysql://user:password@localhost:3306/database
) - 每个表的 JSON 模式信息
- 包括列名和数据类型
- 从数据库元数据中自动发现
安装
配置
MCP 设置配置文件:
推荐使用
测试
替换mysql://user:password@localhost:port/
并运行npm run inspector
环境要求
系统架构
MySQL MCP Server 充当 LLMs 和 MySQL 数据库之间的中介,根据 Model Context Protocol 处理请求。
组件交互
安全模型
MySQL MCP Server 实施了严格的安全模型,以确保数据库访问是只读的。
安全措施包括:
- SQL 查询验证,仅允许 SELECT 语句
- 所有查询都在 READ ONLY 事务中执行
- 不支持数据修改操作(INSERT、UPDATE、DELETE 等)
- 不支持数据库模式修改(CREATE、ALTER、DROP 等)
与 LLMs 的集成
MySQL MCP Server 设计用于与任何支持 Model Context Protocol 的 LLM 系统协同工作。它通过 stdio 上的 JSON-RPC 进行通信,遵循 MCP 规范。
许可证
MIT
- Author:waytomcp
- URL:https://www.waytomcp.com/article/dave-wind/mysql-mcp-server
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!