M

MySQL MCP 服务器

允许AI助手通过受控接口列出表、读取数据和执行SQL查询,使数据库的探索和分析更加安全和有结构。

databases

3.1w 查看 · 2026-07-07 更新

简介

允许AI助手通过受控接口列出表、读取数据和执行SQL查询,使数据库的探索和分析更加安全和有结构。

简介

允许AI助手通过受控接口列出表、读取数据和执行SQL查询,使数据库的探索和分析更加安全和有结构。

Tests smithery badge

MySQL MCP 服务器

一个模型上下文协议(MCP)服务器,能够安全地与 MySQL 数据库进行交互。此服务器允许 AI 助手通过受控接口列出表、读取数据和执行 SQL 查询,从而使数据库的探索和分析更加安全且结构化。

特性

  • 将可用的 MySQL 表作为资源列出
  • 读取表内容
  • 执行带有适当错误处理的 SQL 查询
  • 通过环境变量实现安全的数据库访问
  • 全面的日志记录

安装

手动安装

pip install mysql-mcp-server

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 MySQL 服务器:

npx -y @smithery/cli install mysql-mcp-server --client claude

配置

设置以下环境变量:

MYSQL_HOST=localhost # Database host MYSQL_PORT=3306 # Optional: Database port (defaults to 3306 if not specified) MYSQL_USER=your_username MYSQL_PASSWORD=your_password MYSQL_DATABASE=your_database

使用方法

与 Claude Desktop 一起使用

将以下内容添加到你的 claude_desktop_config.json 文件中:

{ "mcpServers": { "mysql": { "command": "uv", "args": [ "--directory", "path/to/mysql_mcp_server", "run", "mysql_mcp_server" ], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "3306", "MYSQL_USER": "your_username", "MYSQL_PASSWORD": "your_password", "MYSQL_DATABASE": "your_database" } } } }

作为独立服务器运行

# Install dependencies pip install -r requirements.txt # Run the server python -m mysql_mcp_server

开发

# Clone the repository git clone https://github.com/yourusername/mysql_mcp_server.git cd mysql_mcp_server # Create virtual environment python -m venv venv source venv/bin/activate # or `venv\Scripts\activate` on Windows # Install development dependencies pip install -r requirements-dev.txt # Run tests pytest

安全注意事项

  • 永远不要提交环境变量或凭证
  • 使用具有最小必要权限的数据库用户
  • 考虑在生产环境中实施查询白名单
  • 监控并记录所有数据库操作

安全最佳实践

该 MCP 服务器需要数据库访问才能正常工作。为了安全起见:

  1. 创建一个具有最小权限的专用 MySQL 用户
  2. 永远不要使用 root 凭证 或管理账户
  3. 限制数据库访问 仅限于必要的操作
  4. 启用日志记录 用于审计目的
  5. 定期进行安全审查 关于数据库访问

参阅 MySQL 安全配置指南,获取关于以下方面的详细说明:

  • 创建受限的 MySQL 用户
  • 设置适当的权限
  • 监控数据库访问
  • 安全最佳实践

⚠️ 重要提示:在配置数据库访问时,始终遵循最小特权原则。

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

贡献

  1. 叉分仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 发起拉取请求

工具列表

  • execute_sql: Execute an SQL query on the MySQL server

服务配置

[{'mcpServers': {'mysql': {'args': ['--directory', 'path/to/mysql_mcp_server', 'run', 'mysql_mcp_server'], 'command': 'uv', 'env': {'MYSQL_DATABASE': 'your_database', 'MYSQL_HOST': 'localhost', 'MYSQL_PASSWORD': 'your_password', 'MYSQL_PORT': '3306', 'MYSQL_USER': 'your_username'}}}}]

来源