mcpField
M
MCP MySQL Server

MCP MySQL Server

本地服务
github.com/JamesSmith888数据库2659 周前更新

关于 MCP MySQL Server

一个基于 Spring AI 构建的 MCP 服务,可执行任意 SQL 查询。适合需要让 AI 模型访问 MySQL 数据库的开发者,并内置 SQL 安全控制以限制危险操作。

主要功能

  1. 01执行任意 SQL 语句
  2. 02支持配置多个数据源
  3. 03运行时动态切换数据源
  4. 04通过 Groovy 脚本扩展功能
  5. 05SQL 安全控制,阻止危险操作

适用场景

  1. 01让 AI 模型查询 MySQL 数据库
  2. 02在多个数据库之间切换进行查询
  3. 03通过 Groovy 脚本添加自定义数据库操作

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露执行 SQL 的能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

MCP MySQL Server

一个基于 Spring AI 的MCP,可执行任意 SQL。

关于其他数据库支持,请查看 mcp-db-server

中文文档 | English Documentation

快速上手

1. MCP JSON 配置
方式一:Maven Wrapper 启动
{
  "mcpServers": {
    "mcp-mysql-server": {
      "command": "/Users/xin.y/IdeaProjects/mcp-mysql-server/mvnw",
      "args": [
        "-q",
        "-f",
        "/Users/xin.y/IdeaProjects/mcp-mysql-server/pom.xml",
        "spring-boot:run"
      ]
    }
  }
}
方式二:JAR 包启动

构建jar

./mvnw clean package

配置MCP服务器

{
  "mcpServers": {
    "mcp-mysql-server": {
      "command": "java",
      "args": [
        "-Dloader.path=/Users/xin.y/IdeaProjects/mcp-mysql-server/src/main/resources/groovy",
        "-jar",
        "/Users/xin.y/IdeaProjects/mcp-mysql-server/target/mcp-mysql-server-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}

注意: -Dloader.path 参数为可选,仅在需要运行扩展功能时才需要指定。

2. 数据源配置

修改 mcp-mysql-server/src/main/resources/datasource.yml 文件:

datasource:
  datasources:
    your_db1_name:
      url: jdbc:mysql://localhost:3306/db1
      username: root
      password: password
      default: true  # 标记为默认数据源

功能特点

  • 多数据源支持 - 配置和管理多个数据库数据源
  • 动态数据源切换 - 运行时动态切换不同的数据源
  • 扩展功能 - 通过 Groovy 脚本扩展功能
  • SQL 安全控制 - 防止 AI 模型执行危险 SQL 操作

详细文档

文档描述
扩展功能文档Groovy 脚本扩展的详细配置和开发指南
数据源配置文档数据源的详细配置、多环境管理和最佳实践
SQL 安全控制文档SQL 安全策略的配置和管理

环境要求

  • JDK 21+
  • Maven 3.6+

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。