MySQL数据库交互服务器

一个安全的MySQL数据库交互服务器,允许AI助手通过受控接口列出表、读取数据和执行SQL查询,使数据库探索和分析更安全、更结构化。

  • by he426100
  • PHP
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 he426100/mysql-mcp-server

使用说明

MySQL MCP服务器

一种支持与MySQL数据库安全交互的模型上下文协议(MCP)服务器。该服务器允许AI助手通过受控界面列出表、读取数据和执行SQL查询,使数据库探索和分析更安全、更结构化。

特性

  • 将可用MySQL表作为资源列出
  • 读取表格内容
  • 使用正确的错误处理执行SQL查询
  • 通过环境变量保护数据库访问
  • 综合录井

安装

git clone https://github.com/he426100/mysql-mcp-server
cd mysql-mcp-server
composer install

配置

设置以下环境变量:

DB_HOST=localhost     # Database host
DB_PORT=3306         # Optional: Database port (defaults to 3306 if not specified)
DB_USERNAME=your_username
DB_PASSWORD=your_password
DB_DATABASE=your_database

用法

作为独立服务器

# Install dependencies
composer install

# Run the server
php bin/console

码头工人

docker build -t mysql-mcp-server .
docker run -i --rm mysql-mcp-server --host 127.0.0.1

安全考虑

  • 从不提交环境变量或凭据
  • 使用具有最低所需权限的数据库用户
  • 考虑实施查询白名单以供生产使用
  • 监控并记录所有数据库操作

安全最佳实践

此MCP服务器需要数据库访问才能运行。为了安全起见:

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

看 MySQL安全配置指南 有关以下内容的详细说明:

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

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

鸣谢

mysql_mcp_server .

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

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