返回市场
MCP MySQL 服务器

MCP MySQL 服务器

作者:alexcc46 星标更新:2025-03-09

项目介绍

简易 MCP MySQL 服务器

一个轻量级的模型上下文协议(MCP)服务器,用于与 MySQL 数据库进行安全交互。此服务器允许像 Claude 这样的AI助手通过受控接口列出表、读取数据并执行 SQL 查询。

特性

  • 列出数据库中的所有 MySQL 表
  • 获取所有表的详细模式信息
  • 执行只读 SQL 查询,并具有适当的错误处理
  • 通过环境变量实现安全的数据库访问
  • 简单的配置和部署

安装

# 克隆仓库
git clone git@github.com:alexcc4/mcp-mysql-server.git
cd mysql-mcp-server

# 使用 uv 安装依赖(推荐)
uv sync

配置

设置以下环境变量:

  • export DB_HOST=localhost # 数据库主机
  • export DB_PORT=3306 # 数据库端口(未指定时默认为 3306)
  • export DB_USER=your_username # 数据库用户名
  • export DB_PASSWORD=your_password # 数据库密码
  • export DB_NAME=your_database # 数据库名称

使用

手动启动

uv run main.py

使用 Claude Desktop

在你的 Claude Desktop 配置文件中添加以下内容:

Mac Claude Desktop 配置:~/Library/Application Support/Claude/claude_desktop_config.json(如果不存在,请创建)

{
    "mcpServers": {
        "sql": {
            "command": "/path/uv",
            "args": [
                "--directory",
                "code_path",
                "run",
                "main.py"
            ],
            "env": {
                "DB_HOST": "127.0.0.1",
                "DB_PORT": "3306",
                "DB_USER": "your_user",
                "DB_PASSWORD": "your_password",
                "DB_NAME": "your_database"
           }
        }
    }
}

示例查询

配置完成后,你可以向 Claude 提问如下问题:

"显示数据库中的所有表"
"用户表的前10行"
"查找过去30天内下的所有订单"
"按国家统计的用户数量"
"显示产品表的模式"

提供的资源

该服务器提供以下资源:

  • mysql://schema - 包括所有表和列的完整数据库结构信息
  • mysql://tables - 数据库中的所有表列表

提供的工具

该服务器提供以下工具:

  • query_data - 执行只读 SQL 查询并返回结果

要求

  • uv(推荐)
  • Python 3.12.2+
  • MySQL 服务器

安全注意事项

  • 使用具有最小必要权限(只读)的数据库用户
  • 生产环境中绝不要使用 root 凭据
  • 考虑对敏感数据库实施查询白名单
  • 监控并记录所有数据库操作

许可证

MIT

参考