SQL MCP服务器
](https://smithery.ai/server/@aqaranewbiz/mysql-aqaranewbiz) 该项目是使用Smithery的Model Context Protocol(MCP)与MySQL数据库进行交互的服务器。
安装
通过Smithery安装
要通过Smithery自动安装MySQL Server for Claude Desktop,请执行以下操作:
npx -y @smithery/cli install @aqaranewbiz/mysql-aqaranewbiz --client claude手动安装
npx @aqaranewbiz/mysql-aqaranewbiz配置
服务器要求在MCP设置配置文件中设置以下环境变量:
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@aqaranewbiz/mysql-aqaranewbiz"],
"env": {
"MYSQL_HOST": "your_host",
"MYSQL_USER": "your_user",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}可用工具
1.connect_db
使用提供的凭据建立与MySQL数据库的连接。
use_mcp_tool({
server_name: "mysql",
tool_name: "connect_db",
arguments: {
host: "localhost",
user: "your_user",
password: "your_password",
database: "your_database"
}
});2.查询
使用可选的准备语句参数执行SELECT查询。
use_mcp_tool({
server_name: "mysql",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = ?",
params: [1]
}
});3.执行
使用可选的准备语句参数执行INSERT、UPDATE或DELETE查询。
use_mcp_tool({
server_name: "mysql",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES (?, ?)",
params: ["John Doe", "john@example.com"]
}
});4.列表表
列出连接数据库中的所有表。
use_mcp_tool({
server_name: "mysql",
tool_name: "list_tables",
arguments: {}
});5.描述表
获取特定表的结构。
use_mcp_tool({
server_name: "mysql",
tool_name: "describe_table",
arguments: {
table: "users"
}
});主要功能
- 连接和运行MySQL数据库并执行查询
- 通过MCP协议提供标准化API
- 基于FastAPI的RESTful API端点
- 通过环境变量管理设置
开始
基本要求
- Python 3.11或更高版本
- SQL服务器
- Docker(可选)
首选参数
.env创建文件:
MYSQL_HOST=your_mysql_host
MYSQL_USER=your_mysql_user
MYSQL_PASSWORD=your_mysql_password
MYSQL_DATABASE=your_database_name安装方法
本地安装(推荐)
- 创建和激活Python虚拟环境:
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate- 依赖性安装:
pip install -r requirements.txt- 服务器运行:
python mcp_server.py安装Docker
- 构建Docker映像:
docker build -t mysql-mcp-server .- 运行容器:
docker run -e MYSQL_HOST=host -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db mysql-mcp-server本地开发设置
- 设置开发环境:
# 개발용 의존성 설치
pip install -r requirements-dev.txt # 필요한 경우 생성
# 코드 포맷팅 및 린팅 설정
pip install black flake8- 执行代码:
# 개발 모드로 실행
python mcp_server.py --dev- 运行测试:
# 테스트 실행
python -m pytest tests/API端点
查询服务器信息
GET /status返回服务器的状态和可用工具列表。
运行查询
POST /execute运行MySQL查询并返回结果。
开发指南
项目结构
@MCP-Server-for-Smithery/
├── mcp_server.py # 메인 서버 코드
├── requirements.txt # Python 의존성
├── Dockerfile # Docker 설정
├── .env # 환경 변수 (템플릿)
└── tests/ # 테스트 코드添加新功能
mcp_server.py在中添加新工具- 所需的依赖性
requirements.txt添加到 - 编写测试代码
- 重新构建Docker映像(使用Docker时)
故障排除
常见问题
- 连接错误:
- 验证是否运行了MySQL服务器 - 验证环境变量设置是否正确 - 验证本地安装是否安装了MySQL客户端库
- 查询执行错误:
- 检查SQL语法 - 验证数据库权限 - 在本地安装时验证MySQL连接器版本
记录
默认情况下,服务器会将日志记录到标准输出中。要在本地安装时调整日志级别,请:
python mcp_server.py --log-level DEBUG要查看使用Docker时的日志,请:
docker logs [container-id]贡献
- 创建问题
- 创建分支(
git checkout -b feature/AmazingFeature) - 提交更改(
git commit -m 'Add some AmazingFeature') - 分支推送(
git push origin feature/AmazingFeature) - 创建Pull Request
许可证
该项目在MIT许可下分发。有关详细信息,请访问 LICENSE 请参考文件。
联系方式
如果有疑问,请生成问题。
