MySQL导航器MCP
一个强大的MySQL/MariaDB数据库导航工具,使用MCP(模型控制协议)进行数据库查询和管理。
特性
- 连接到MySQL/MariaDB数据库
- 在不同数据库之间动态切换
- 执行具有类型安全性的SQL查询
- 检索数据库架构信息
- 查询参数的Pydantic模型验证
- 安全的凭证管理
- 综合测井系统
- 连接池和重试机制
- SSL/TLS支持安全连接
日志文件位置(跨平台)
默认情况下,所有日志都会写入:
- 窗户:
C:\Users\\.mcp\mcp-db.log - macOS/Linux:
/home//.mcp/mcp-db.log或/Users//.mcp/mcp-db.log
如果 .mcp 您的主目录中不存在该文件夹,应用程序将自动创建它。如果您遇到任何问题,可以手动创建该文件夹:
窗户:
mkdir $env:USERPROFILE\.mcpmacOS/Linux:
mkdir -p ~/.mcp安装
来自PyPI(推荐给大多数用户):
pip install mcp-db-navigator来源(用于开发):
git clone
cd mcp-db
pip install -e .- 创建一个
.env包含数据库凭据的文件:
DB_HOST=your_host
DB_PORT=your_port
DB_NAME=your_database_name
DB_USER=your_username
DB_PASSWORD=your_password
DB_SSL_CA=/path/to/ssl/ca.pem # Optional: for SSL/TLS connections
DB_MAX_RETRIES=3 # Optional: number of connection retries
DB_RETRY_DELAY=1.0 # Optional: delay between retries in seconds使用示例
1.命令行
直接从终端运行MCP服务器:
mcp-db --config /path/to/your/project/.env2.在光标中
要在中使用此MCP服务器 光标:
- 打开光标设置并添加新的MCP服务器。
- 使用以下配置(示例):
{
"mcpServers": {
"mysql-navigator": {
"command": "mcp-db",
"args": [
"--config",
"/absolute/path/to/your/.env"
]
}
}
}- 确保通往你的路
.env文件是绝对的。
3.在克劳德桌面
如果Claude Desktop支持MCP服务器:
- 添加一个新的MCP服务器并将其指向
mcp-db命令与--config如上所述的论点。 - 有关添加自定义MCP服务器的详细信息,请参阅Claude Desktop的文档。
查询参数
查询字典支持以下参数:
table_name(必填):要查询的表的名称select_fields(可选):要选择的字段列表(默认为\[“\*”\])where_conditions(可选):WHERE子句的字段值对字典order_by(可选):要排序的字段列表order_direction(可选):排序方向“ASC”或“DESC”(默认:“ASC”)limit(可选):要返回的记录数offset(可选):要跳过的记录数group_by(可选):要分组的字段列表having(可选):HAVING子句的字段值对字典join_table(可选):要连接的表的名称join_type(可选):JOIN操作类型(默认:“INNER”)join_conditions(可选):加入条件字典
安全功能
- 数据库凭据通过配置文件进行管理
- 密码在Pydantic模型中存储为SecretStr
- 所有查询参数的输入验证
- 通过参数化查询防止SQL注入
- 加密连接的SSL/TLS支持
- 连接字符串清理
- 查询的速率限制
- 查询参数清理
生产特点
错误处理
- 数据库操作的全面错误处理
- 连接超时处理
- 失败连接的自动重试机制
- 所有参数的输入验证
演出
- 连接池可实现最佳资源使用
- 查询执行时间记录
- 连接池统计
- 绩效指标收集
监控
- 具有不同日志级别的结构化日志记录
- 查询执行跟踪
- 连接状态监控
- 错误率跟踪
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
