Mysql_mcp_servers

Mysql_mcp_servers

🚀 MySQL MCP 服务器

本项目提供了一个使用 Model Context Protocol (MCP) 与 MySQL 数据库进行交互的服务器,专门为 WSL 环境中的 MySQL 数据库提供便捷接口,助力开发者高效操作数据库。

🚀 快速开始

本服务器可帮助你通过 MCP 协议与 MySQL 数据库进行交互。按照以下步骤操作,即可快速开启服务。

✨ 主要特性

  • 表信息获取:能够获取 MySQL 数据库中的表列表。
  • 数据读取:可从表中读取数据,最多读取 100 行。
  • SQL 查询执行:支持执行多种 SQL 查询,如 SELECT、SHOW TABLES、INSERT、UPDATE、DELETE 等。

📦 安装指南

先决条件

  • Python 3.11 或更高版本
  • MySQL 服务器(本地或远程)
  • 虚拟环境(virtualenv)
  • Docker(使用 Docker 时)

设置步骤

  1. 克隆仓库:
    git clone 
    cd mysql_mcp_server
    
  2. 创建虚拟环境并激活:
    python -m venv .venv
    source .venv/bin/activate  # Linux 系统
    
  3. 安装依赖项:
    pip install -r requirements.txt .
    
  4. 运行设置脚本以赋予执行权限并运行:
    chmod +x setup.sh
    ./setup.sh
    

运行方法

可以使用以下任意一种方式运行服务器:

1. 直接运行

./run_direct.sh

2. 作为模块运行

./run_module.sh

3. 使用 Docker 容器运行

# 构建 Docker 镜像
docker build -t mysql-mcp-server:latest .

# 运行容器
./run_docker.sh

📚 详细文档

环境变量

服务器使用以下环境变量连接 MySQL:

属性 详情
MYSQL_HOST MySQL 服务器的主机(默认: host.docker.internal
MYSQL_PORT MySQL 服务器的端口(默认: 13306
MYSQL_USER MySQL 用户名
MYSQL_PASSWORD MySQL 密码
MYSQL_DATABASE 使用的数据库名称

MCP 协议

此服务器实现 MCP 协议,并提供以下端点:

  • list_resources:获取数据库中的表列表
  • read_resource:从特定表中读取数据
  • list_tools:列出可用工具
  • execute_query:执行 SQL 查询

WSL 环境注意事项

在 WSL 环境下运行时,需注意文件路径和网络配置。请参考文档中的 WSL 部分以获取更多信息。

项目结构

src/mysql_mcp_server/
├── __init__.py        # 包初始化文件
├── config/           # 配置相关模块
│   ├── __init__.py
│   └── settings.py   # 数据库配置
├── database/         # 数据库操作模块
│   ├── __init__.py
│   ├── connection.py # 数据库连接处理
│   └── errors.py     # 错误类
├── tools/            # 工具模块
│   ├── __init__.py
│   └── sql_tools.py  # SQL 执行工具
└── server.py         # MCP 服务器主文件

🔧 技术细节

测试

使用 Nox 运行测试

  1. 安装 Nox:
    pip install nox
    
  2. 运行所有测试:
    nox -s test
    
  3. 格式化代码:
    nox -s format
    
  4. 执行代码检查:
    nox -s lint
    

直接运行测试

pytest tests/

检查代码覆盖率

pytest --cov=src.mysql_mcp_server tests/

📄 许可证

此项目在 MIT 许可证下开源。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-23 21:48

相似服务问题

相关AI产品