首页/数据库/mysql-mcp-server

mysql-mcp-server

查看源码
2025-5-12
Words 540Read Time 2 min
Score:85

提供MySQL数据库的只读访问,支持LLM通过MCP协议查询数据库模式和执行只读SQL语句。

@davewind/mysql-mcp-server

一个基于 Model Context Protocol(MCP)的服务器,提供对 MySQL 数据库的只读访问。该服务器使 LLMs(大语言模型)能够检查数据库模式并执行只读查询。

主要特性

  1. 只读数据库访问:通过 SQL 验证和 READ ONLY 事务强制执行只读操作
  1. 模式发现:自动识别并暴露数据库表结构
  1. SQL 查询执行:提供接受并执行 SELECT 语句的查询工具
  1. Model Context Protocol 兼容性:实现 MCP 规范,与兼容的 LLMs 无缝集成
  1. 简单配置:设置简单,所需配置最少

工具

  • 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 实施了严格的安全模型,以确保数据库访问是只读的。
安全措施包括:
  1. SQL 查询验证,仅允许 SELECT 语句
  1. 所有查询都在 READ ONLY 事务中执行
  1. 不支持数据修改操作(INSERT、UPDATE、DELETE 等)
  1. 不支持数据库模式修改(CREATE、ALTER、DROP 等)

与 LLMs 的集成

MySQL MCP Server 设计用于与任何支持 Model Context Protocol 的 LLM 系统协同工作。它通过 stdio 上的 JSON-RPC 进行通信,遵循 MCP 规范。

许可证

MIT
上一篇
isolated-pymcp
下一篇
mcp-files-cleanup