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 许可证。
Scan to contact