mcp-mysql-server

mcp-mysql-server

site icon
2025.04.16 3
JavaScript数据库服务MySQL操作数据库
mcp-mysql-server是一个基于Model Context Protocol的MySQL数据库操作服务器,使AI模型能够通过标准化接口与MySQL数据库进行交互。它支持本地运行和远程URL模式,提供多用户并发支持、高效连接池管理、请求级别隔离等功能。
View on GitHub

Overview

基本能力

产品定位

mcp-mysql-server是一个基于Model Context Protocol的MySQL数据库操作服务器,旨在为AI模型提供与MySQL数据库交互的标准化接口。

核心功能

  • 多用户并发支持:服务器可同时处理多个用户的请求
  • 高效连接池管理:支持最多50个并发连接
  • 请求级别隔离:每个请求都有唯一标识符,便于跟踪和调试
  • 详细日志记录:记录每个请求的执行过程和资源使用情况
  • 改进的错误处理:更精确地捕获和报告数据库错误
  • 性能优化:连接池复用和优化的连接管理提高处理速度
  • 自动数据库连接:在服务器启动时自动尝试连接数据库
  • 无感知数据库操作:可以直接使用工具,无需先调用connect_db
  • 安全性:使用预处理语句防止SQL注入,通过环境变量支持安全密码处理

适用场景

  • AI模型需要与MySQL数据库交互的场景
  • 需要多用户并发访问数据库的应用
  • 需要高效连接池管理的数据库操作
  • 需要安全数据库连接的应用

工具列表

  1. connect_db:使用提供的凭据建立与MySQL数据库的连接。
  2. query:执行SELECT查询,支持可选的预处理语句参数。
  3. list_tables:列出已连接数据库中的所有表。
  4. describe_table:获取特定表的结构。

常见问题解答

  • 如何配置数据库连接:通过环境变量或connect_db工具配置。
  • 如何执行查询:使用query工具执行SELECT查询。
  • 如何获取表结构:使用describe_table工具获取特定表的结构。

使用教程

使用依赖

无特殊依赖,只需安装Node.js环境。

安装教程

npx @malove86/mcp-mysql-server

配置

本地运行模式

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@malove86/mcp-mysql-server"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database",
        "MYSQL_PORT": "3306"
      }
    }
  }
}

远程URL模式

{
  "mcpServers": {
    "mcp-mysql-server": {
      "url": "http://your-server-address:port/mcp-mysql-server"
    }
  }
}

调试方式

启动服务器后,可以通过日志查看请求执行情况和资源使用情况。

# 设置环境变量
export MYSQL_HOST=your_host
export MYSQL_USER=your_user
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=your_database
export MYSQL_PORT=3306

# 启动服务器
npx @malove86/mcp-mysql-server

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。