# MCP MySQL Server (理财-CZG版)
一个支持跨数据库查询和中文字段映射的MySQL MCP服务器。
## 🚀 特性
- ✅ **跨数据库查询支持** - 支持多个MySQL数据库的联合查询
- ✅ **中文字段映射** - 返回数据包含中文字段说明,前端更易理解
- ✅ **真实业务SQL** - 基于实际业务需求设计的查询接口
- ✅ **安全连接** - 支持SSL和安全的数据库连接
- ✅ **灵活配置** - 通过环境变量轻松配置多个数据库
## 📦 安装
```bash
pip install mcp-mysql-server-licai-czg
```
## 🛠️ 配置
### 1. MCP客户端配置
在你的MCP客户端配置文件中添加:
```json
{
"mcpServers": {
"mysql-server": {
"command": "mcp-mysql-server-licai-czg",
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your-username",
"MYSQL_PASSWORD": "your-password",
"MYSQL_DATABASES": "database1,database2"
}
}
}
}
```
### 2. 环境变量
| 变量名 | 描述 | 默认值 |
|--------|------|--------|
| `MYSQL_HOST` | MySQL服务器地址 | `localhost` |
| `MYSQL_PORT` | MySQL端口 | `3306` |
| `MYSQL_USER` | 数据库用户名 | `root` |
| `MYSQL_PASSWORD` | 数据库密码 | `` |
| `MYSQL_DATABASES` | 数据库列表(逗号分隔) | `` |
## 🔧 可用工具
### 1. 用户查询工具
- **get_user_info_by_mobile** - 根据手机号查询用户信息
- **get_user_info_by_nickname** - 根据用户名查询用户信息
### 2. 业务数据工具
- **get_user_courses** - 查询用户课程信息
- **get_user_cases** - 查询用户案例信息
- **get_user_orders** - 查询用户订单信息
- **get_user_invoices** - 查询用户发票信息
### 3. 统计分析工具
- **get_user_study_plan_stats** - 查询用户学习计划统计数据
## 📊 返回数据格式
所有工具返回的数据都包含中文字段说明:
```json
{
"用户ID": 123456,
"用户昵称": "张三",
"注册日期": "2024-01-01",
"手机状态": 1,
"手机区号": "+86"
}
```
## 🗄️ 数据库支持
### 跨数据库查询
支持在单个查询中访问多个数据库:
```sql
SELECT
u.userId as 用户ID,
u.nickname as 用户昵称
FROM sso.sso_user_new u
LEFT JOIN dpt_e-commerce.orders o ON o.userid = u.userId
WHERE u.mobile = %s
```
### 支持的数据库类型
- MySQL 5.7+
- MySQL 8.0+
- MariaDB 10.3+
## 🔒 安全性
- 支持SSL连接
- 参数化查询防止SQL注入
- 敏感信息通过环境变量配置
- 连接池管理
## 📝 开发
### 本地开发
```bash
# 克隆项目
git clone https://github.com/yourusername/mcp-mysql-business-server.git
cd mcp-mysql-business-server
# 安装依赖
pip install -r requirements.txt
# 运行测试
python -m pytest tests/
# 本地安装
pip install -e .
```
### 构建发布
```bash
# 构建包
python setup.py sdist bdist_wheel
# 上传到PyPI
twine upload dist/*
```
## 📄 许可证
MIT License - 详见 [LICENSE](LICENSE) 文件
## 🤝 贡献
欢迎提交Issue和Pull Request!
## 📞 支持
如有问题,请提交Issue或联系:
- Email: your.email@example.com
- GitHub: https://github.com/yourusername/mcp-mysql-business-server
## 🔄 更新日志
### v1.0.0 (2024-09-11)
- 初始版本发布
- 支持跨数据库查询
- 中文字段映射
- 7个业务查询工具
- 完整的MCP协议支持
Raw data
{
"_id": null,
"home_page": "https://github.com/yourusername/mcp-mysql-server",
"name": "mcp-mysql-server-licai-czg-202509111517-9baa6c-202509111516-735609-20250911-e5ceb8",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "mcp mysql server database cross-database chinese",
"author": "Your Name",
"author_email": "your.email@example.com",
"download_url": "https://files.pythonhosted.org/packages/4a/c5/b117764a6dddf0d67b33c9cc97d78b79a29ce168283069d7de245a01cdce/mcp-mysql-server-licai-czg-202509111517-9baa6c-202509111516-735609-20250911-e5ceb8-1.0.0.tar.gz",
"platform": null,
"description": "# MCP MySQL Server (\u7406\u8d22-CZG\u7248)\r\n\r\n\u4e00\u4e2a\u652f\u6301\u8de8\u6570\u636e\u5e93\u67e5\u8be2\u548c\u4e2d\u6587\u5b57\u6bb5\u6620\u5c04\u7684MySQL MCP\u670d\u52a1\u5668\u3002\r\n\r\n## \ud83d\ude80 \u7279\u6027\r\n\r\n- \u2705 **\u8de8\u6570\u636e\u5e93\u67e5\u8be2\u652f\u6301** - \u652f\u6301\u591a\u4e2aMySQL\u6570\u636e\u5e93\u7684\u8054\u5408\u67e5\u8be2\r\n- \u2705 **\u4e2d\u6587\u5b57\u6bb5\u6620\u5c04** - \u8fd4\u56de\u6570\u636e\u5305\u542b\u4e2d\u6587\u5b57\u6bb5\u8bf4\u660e\uff0c\u524d\u7aef\u66f4\u6613\u7406\u89e3\r\n- \u2705 **\u771f\u5b9e\u4e1a\u52a1SQL** - \u57fa\u4e8e\u5b9e\u9645\u4e1a\u52a1\u9700\u6c42\u8bbe\u8ba1\u7684\u67e5\u8be2\u63a5\u53e3\r\n- \u2705 **\u5b89\u5168\u8fde\u63a5** - \u652f\u6301SSL\u548c\u5b89\u5168\u7684\u6570\u636e\u5e93\u8fde\u63a5\r\n- \u2705 **\u7075\u6d3b\u914d\u7f6e** - \u901a\u8fc7\u73af\u5883\u53d8\u91cf\u8f7b\u677e\u914d\u7f6e\u591a\u4e2a\u6570\u636e\u5e93\r\n\r\n## \ud83d\udce6 \u5b89\u88c5\r\n\r\n```bash\r\npip install mcp-mysql-server-licai-czg\r\n```\r\n\r\n## \ud83d\udee0\ufe0f \u914d\u7f6e\r\n\r\n### 1. MCP\u5ba2\u6237\u7aef\u914d\u7f6e\r\n\r\n\u5728\u4f60\u7684MCP\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\uff1a\r\n\r\n```json\r\n{\r\n \"mcpServers\": {\r\n \"mysql-server\": {\r\n \"command\": \"mcp-mysql-server-licai-czg\",\r\n \"env\": {\r\n \"MYSQL_HOST\": \"your-mysql-host\",\r\n \"MYSQL_PORT\": \"3306\",\r\n \"MYSQL_USER\": \"your-username\",\r\n \"MYSQL_PASSWORD\": \"your-password\",\r\n \"MYSQL_DATABASES\": \"database1,database2\"\r\n }\r\n }\r\n }\r\n}\r\n```\r\n\r\n### 2. \u73af\u5883\u53d8\u91cf\r\n\r\n| \u53d8\u91cf\u540d | \u63cf\u8ff0 | \u9ed8\u8ba4\u503c |\r\n|--------|------|--------|\r\n| `MYSQL_HOST` | MySQL\u670d\u52a1\u5668\u5730\u5740 | `localhost` |\r\n| `MYSQL_PORT` | MySQL\u7aef\u53e3 | `3306` |\r\n| `MYSQL_USER` | \u6570\u636e\u5e93\u7528\u6237\u540d | `root` |\r\n| `MYSQL_PASSWORD` | \u6570\u636e\u5e93\u5bc6\u7801 | `` |\r\n| `MYSQL_DATABASES` | \u6570\u636e\u5e93\u5217\u8868(\u9017\u53f7\u5206\u9694) | `` |\r\n\r\n## \ud83d\udd27 \u53ef\u7528\u5de5\u5177\r\n\r\n### 1. \u7528\u6237\u67e5\u8be2\u5de5\u5177\r\n\r\n- **get_user_info_by_mobile** - \u6839\u636e\u624b\u673a\u53f7\u67e5\u8be2\u7528\u6237\u4fe1\u606f\r\n- **get_user_info_by_nickname** - \u6839\u636e\u7528\u6237\u540d\u67e5\u8be2\u7528\u6237\u4fe1\u606f\r\n\r\n### 2. \u4e1a\u52a1\u6570\u636e\u5de5\u5177\r\n\r\n- **get_user_courses** - \u67e5\u8be2\u7528\u6237\u8bfe\u7a0b\u4fe1\u606f\r\n- **get_user_cases** - \u67e5\u8be2\u7528\u6237\u6848\u4f8b\u4fe1\u606f\r\n- **get_user_orders** - \u67e5\u8be2\u7528\u6237\u8ba2\u5355\u4fe1\u606f\r\n- **get_user_invoices** - \u67e5\u8be2\u7528\u6237\u53d1\u7968\u4fe1\u606f\r\n\r\n### 3. \u7edf\u8ba1\u5206\u6790\u5de5\u5177\r\n\r\n- **get_user_study_plan_stats** - \u67e5\u8be2\u7528\u6237\u5b66\u4e60\u8ba1\u5212\u7edf\u8ba1\u6570\u636e\r\n\r\n## \ud83d\udcca \u8fd4\u56de\u6570\u636e\u683c\u5f0f\r\n\r\n\u6240\u6709\u5de5\u5177\u8fd4\u56de\u7684\u6570\u636e\u90fd\u5305\u542b\u4e2d\u6587\u5b57\u6bb5\u8bf4\u660e\uff1a\r\n\r\n```json\r\n{\r\n \"\u7528\u6237ID\": 123456,\r\n \"\u7528\u6237\u6635\u79f0\": \"\u5f20\u4e09\",\r\n \"\u6ce8\u518c\u65e5\u671f\": \"2024-01-01\",\r\n \"\u624b\u673a\u72b6\u6001\": 1,\r\n \"\u624b\u673a\u533a\u53f7\": \"+86\"\r\n}\r\n```\r\n\r\n## \ud83d\uddc4\ufe0f \u6570\u636e\u5e93\u652f\u6301\r\n\r\n### \u8de8\u6570\u636e\u5e93\u67e5\u8be2\r\n\r\n\u652f\u6301\u5728\u5355\u4e2a\u67e5\u8be2\u4e2d\u8bbf\u95ee\u591a\u4e2a\u6570\u636e\u5e93\uff1a\r\n\r\n```sql\r\nSELECT \r\n u.userId as \u7528\u6237ID,\r\n u.nickname as \u7528\u6237\u6635\u79f0\r\nFROM sso.sso_user_new u\r\nLEFT JOIN dpt_e-commerce.orders o ON o.userid = u.userId\r\nWHERE u.mobile = %s\r\n```\r\n\r\n### \u652f\u6301\u7684\u6570\u636e\u5e93\u7c7b\u578b\r\n\r\n- MySQL 5.7+\r\n- MySQL 8.0+\r\n- MariaDB 10.3+\r\n\r\n## \ud83d\udd12 \u5b89\u5168\u6027\r\n\r\n- \u652f\u6301SSL\u8fde\u63a5\r\n- \u53c2\u6570\u5316\u67e5\u8be2\u9632\u6b62SQL\u6ce8\u5165\r\n- \u654f\u611f\u4fe1\u606f\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u914d\u7f6e\r\n- \u8fde\u63a5\u6c60\u7ba1\u7406\r\n\r\n## \ud83d\udcdd \u5f00\u53d1\r\n\r\n### \u672c\u5730\u5f00\u53d1\r\n\r\n```bash\r\n# \u514b\u9686\u9879\u76ee\r\ngit clone https://github.com/yourusername/mcp-mysql-business-server.git\r\ncd mcp-mysql-business-server\r\n\r\n# \u5b89\u88c5\u4f9d\u8d56\r\npip install -r requirements.txt\r\n\r\n# \u8fd0\u884c\u6d4b\u8bd5\r\npython -m pytest tests/\r\n\r\n# \u672c\u5730\u5b89\u88c5\r\npip install -e .\r\n```\r\n\r\n### \u6784\u5efa\u53d1\u5e03\r\n\r\n```bash\r\n# \u6784\u5efa\u5305\r\npython setup.py sdist bdist_wheel\r\n\r\n# \u4e0a\u4f20\u5230PyPI\r\ntwine upload dist/*\r\n```\r\n\r\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\r\n\r\nMIT License - \u8be6\u89c1 [LICENSE](LICENSE) \u6587\u4ef6\r\n\r\n## \ud83e\udd1d \u8d21\u732e\r\n\r\n\u6b22\u8fce\u63d0\u4ea4Issue\u548cPull Request\uff01\r\n\r\n## \ud83d\udcde \u652f\u6301\r\n\r\n\u5982\u6709\u95ee\u9898\uff0c\u8bf7\u63d0\u4ea4Issue\u6216\u8054\u7cfb\uff1a\r\n- Email: your.email@example.com\r\n- GitHub: https://github.com/yourusername/mcp-mysql-business-server\r\n\r\n## \ud83d\udd04 \u66f4\u65b0\u65e5\u5fd7\r\n\r\n### v1.0.0 (2024-09-11)\r\n- \u521d\u59cb\u7248\u672c\u53d1\u5e03\r\n- \u652f\u6301\u8de8\u6570\u636e\u5e93\u67e5\u8be2\r\n- \u4e2d\u6587\u5b57\u6bb5\u6620\u5c04\r\n- 7\u4e2a\u4e1a\u52a1\u67e5\u8be2\u5de5\u5177\r\n- \u5b8c\u6574\u7684MCP\u534f\u8bae\u652f\u6301\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A MySQL MCP Server for cross-database queries with Chinese field mapping",
"version": "1.0.0",
"project_urls": {
"Bug Reports": "https://github.com/yourusername/mcp-mysql-server/issues",
"Documentation": "https://github.com/yourusername/mcp-mysql-server#readme",
"Homepage": "https://github.com/yourusername/mcp-mysql-server",
"Source": "https://github.com/yourusername/mcp-mysql-server"
},
"split_keywords": [
"mcp",
"mysql",
"server",
"database",
"cross-database",
"chinese"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4dafa0b5e1d6c0cdfef222df587fc4a3264f9de56fd2a5d316d6d0703a6b9ba1",
"md5": "733406e44249f31bbfe97f6860519b3d",
"sha256": "f689487a01309d444c8fae3f418d13c9815f63de6ae4cc51341635a7d13750f3"
},
"downloads": -1,
"filename": "mcp_mysql_server_licai_czg_202509111517_9baa6c_202509111516_735609_20250911_e5ceb8-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "733406e44249f31bbfe97f6860519b3d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 12202,
"upload_time": "2025-09-11T07:17:42",
"upload_time_iso_8601": "2025-09-11T07:17:42.094241Z",
"url": "https://files.pythonhosted.org/packages/4d/af/a0b5e1d6c0cdfef222df587fc4a3264f9de56fd2a5d316d6d0703a6b9ba1/mcp_mysql_server_licai_czg_202509111517_9baa6c_202509111516_735609_20250911_e5ceb8-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4ac5b117764a6dddf0d67b33c9cc97d78b79a29ce168283069d7de245a01cdce",
"md5": "4395d8cce532f6051619476be6793233",
"sha256": "cb541e82c99dbfff364cea9b887dce57be0fac590063f570d705236d31aeed23"
},
"downloads": -1,
"filename": "mcp-mysql-server-licai-czg-202509111517-9baa6c-202509111516-735609-20250911-e5ceb8-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "4395d8cce532f6051619476be6793233",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14612,
"upload_time": "2025-09-11T07:17:43",
"upload_time_iso_8601": "2025-09-11T07:17:43.847475Z",
"url": "https://files.pythonhosted.org/packages/4a/c5/b117764a6dddf0d67b33c9cc97d78b79a29ce168283069d7de245a01cdce/mcp-mysql-server-licai-czg-202509111517-9baa6c-202509111516-735609-20250911-e5ceb8-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-11 07:17:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "mcp-mysql-server",
"github_not_found": true,
"lcname": "mcp-mysql-server-licai-czg-202509111517-9baa6c-202509111516-735609-20250911-e5ceb8"
}