MySQL只读查询服务器

一个提供MySQL数据库只读访问的模型上下文协议服务器,允许LLMs检查数据库模式和执行只读查询。

  • by dave-wind
  • JavaScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 dave-wind/mysql-mcp-server

使用说明

@davewind/mysql-mcp服务器

提供Mysql数据库只读访问的模型上下文协议服务器。此服务器使LLM能够检查数据库模式并执行只读查询。

主要特点

1.只读数据库访问:通过SQL验证和只读事务强制执行只读操作
2.模式发现:自动识别和公开数据库表结构
3.SQL查询执行:提供一个接受并执行SELECT语句的查询工具
4.模型上下文协议合规性:实施MCP规范,与兼容的LLM无缝集成
5.配置简单:设置简单,所需配置最少

工具

  • 查询
    • 对连接的数据库执行只读SQL查询
    • 输入: sql (string):要执行的SQL查询
    • 所有查询都在只读事务中执行

资源

服务器为数据库中的每个表提供架构信息:

  • 持微软签名的表模式 (mysql://user:password@localhost:3306/database)
    • 每个表的JSON模式信息
    • 包括列名和数据类型
    • 从数据库元数据中自动发现

安装

npm install @davewind/mysql-mcp-server -g

配置

MCP设置配置文件:

推荐使用

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@davewind/mysql-mcp-server", "mysql://user:password@localhost:port/database"],
    }
  }
}

测试

替换mysql://user:password@localhost:port/和npm运行检查器

  "scripts": {
    "inspector": "npx @modelcontextprotocol/inspector@0.10.2 build/index.js mysql://user:password@localhost:port/database
  }

环境


node v18 +

系统架构

MySQL MCP服务器充当LLM和MySQL数据库之间的中介,根据模型上下文协议处理请求。

组件交互

组件交互

安全模型

MySQL MCP Server实现了严格的安全模型,以确保数据库访问是只读的。

安全措施包括:

1.SQL查询验证只允许SELECT语句 2.执行只读事务中的所有查询 3.不支持数据修改操作(INSERT、UPDATE、DELETE等) 4.不支持数据库模式修改(CREATE、ALTER、DROP等)

与LLM集成

MySQL MCP服务器旨在与支持模型上下文协议的任何LLM系统配合使用。它通过stdio上的JSON-RPC进行通信,遵循MCP规范。

许可证

麻省理工学院