Back to MCP directory
publicPublicdnsLocal runtime

mcp-mysql-server

一个基于Model Context Protocol的MySQL数据库操作服务器,提供标准化接口使AI模型能与MySQL交互,支持本地和远程部署,具备多用户并发、连接池管理等特性。

article

README

🚀 mcp-mysql-server

mcp-mysql-server 是一个基于模型上下文协议(Model Context Protocol)的 MySQL 数据库操作服务器。它为 AI 模型提供了标准化接口,使其能够方便地与 MySQL 数据库进行交互。

🚀 快速开始

mcp-mysql-server 能让 AI 模型通过标准化接口与 MySQL 数据库交互。你可以按照以下步骤进行安装和配置。

📦 安装指南

使用以下命令安装服务器:

npx @malove86/mcp-mysql-server

📚 详细文档

配置说明

服务器支持两种部署模式,下面为你详细介绍:

1. 本地运行模式

在 MCP 设置配置文件中使用命令行运行,示例配置如下:

{
  "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"
      }
    }
  }
}

2. 远程 URL 模式 (v0.2.2+)

指向远程运行的 MCP 服务器,示例配置如下:

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

在远程服务器上,你需要设置环境变量后启动 MCP 服务器:

# 设置环境变量
export MYSQL_HOST=your_host
export MYSQL_USER=your_user
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=your_database
export MYSQL_PORT=3306  # 可选,默认为3306

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

⚠️ 重要提示

MYSQL_PORT 是可选的,默认值为 3306。

版本功能

v0.2.4+ 新特性

  • 多用户并发支持:服务器现在可同时处理多个用户的请求
  • 高效连接池管理:使用改进的连接池,支持最多 50 个并发连接
  • 请求级别隔离:每个请求都有唯一标识符,便于跟踪和调试
  • 详细日志记录:记录每个请求的执行过程和资源使用情况
  • 改进的错误处理:更精确地捕获和报告数据库错误
  • 性能优化:连接池复用和优化的连接管理提高处理速度

v0.2.3+ 新特性

  • 初始版本:提供基本功能,包括数据库连接、查询执行等

可用工具

以下是服务器提供的主要工具:

1. connect_db

用于建立数据库连接。

{
  "tool": "connect_db",
  "params": {
    "host": "localhost",
    "user": "root",
    "password": "password",
    "database": "mydb"
  }
}

2. query

执行数据库查询。

{
  "tool": "query",
  "params": {
    "sql": "SELECT * FROM users LIMIT 10"
  }
}

3. list_tables

列出数据库中的所有表。

{
  "tool": "list_tables",
  "params": {}
}

4. describe_table

描述指定表的结构。

{
  "tool": "describe_table",
  "params": {
    "table_name": "users"
  }
}

✨ 主要特性

  • 高性能:优化了数据库连接和查询执行,提升处理速度。
  • 高可用性:支持多用户并发访问,确保服务稳定。
  • 安全性:通过环境变量管理敏感信息,防止数据泄露。
  • 可扩展性:支持远程 URL 模式,便于部署和管理。

🔧 技术细节

性能

  • 最大并发连接数:50
  • 支持高效的数据库操作,提升整体性能

安全性

  • 用户隔离:确保不同用户之间的数据独立,防止交叉污染。
  • 预防 SQL 注入:通过参数化查询,避免安全漏洞。
  • 权限管理:限制访问权限,保障数据安全。

🤝 贡献

欢迎贡献!请随时提交 Pull Request 到 https://github.com/Malove86/mcp-mysql-server.git

📄 许可证

本项目采用 MIT 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client