返回市场
MCP数据库导航器

MCP数据库导航器

作者:Medsaad6 星标更新:2025-05-04

项目介绍

MySQL Navigator MCP

一个强大的MySQL/MariaDB数据库导航工具,使用MCP(模型控制协议)进行简单的数据库查询和管理。

功能

  • 连接到MySQL/MariaDB数据库
  • 动态切换不同的数据库
  • 执行类型安全的SQL查询
  • 获取数据库模式信息
  • 使用Pydantic模型验证查询参数
  • 安全凭证管理
  • 全面的日志系统
  • 连接池和重试机制
  • 支持SSL/TLS的安全连接

日志文件位置(跨平台)

默认情况下,所有日志都写入:

  • Windows: C:\Users\<您的用户名>\.mcp\mcp-db.log
  • macOS/Linux: /home/<您的用户名>/.mcp/mcp-db.log/Users/<您的用户名>/.mcp/mcp-db.log

如果您的主目录中不存在.mcp文件夹,应用程序会自动创建它。如果您遇到任何问题,可以手动创建该文件夹:

Windows:

mkdir $env:USERPROFILE\.mcp

macOS/Linux:

mkdir -p ~/.mcp

安装

从PyPI安装(推荐大多数用户):

pip install mcp-db-navigator

从源码安装(用于开发):

git clone <您的仓库地址>
cd mcp-db
pip install -e .
  1. 创建一个包含数据库凭证的.env文件:
DB_HOST=您的主机
DB_PORT=您的端口
DB_NAME=您的数据库名称
DB_USER=您的用户名
DB_PASSWORD=您的密码
DB_SSL_CA=/ssl证书路径/ca.pem  # 可选:用于SSL/TLS连接
DB_MAX_RETRIES=3  # 可选:连接重试次数
DB_RETRY_DELAY=1.0  # 可选:重试之间的延迟时间(秒)

使用示例

1. 命令行

直接从终端运行MCP服务器:

mcp-db --config /您的项目路径/.env

2. 在Cursor中

要在Cursor中使用此MCP服务器:

  • 打开Cursor设置并添加一个新的MCP服务器。
  • 使用以下配置(示例):
{
  "mcpServers": {
    "mysql-navigator": {
      "command": "mcp-db",
      "args": [
        "--config",
        "/绝对路径到您的/.env"
      ]
    }
  }
}
  • 确保您的.env文件路径是绝对路径。

3. 在Claude Desktop中

如果Claude Desktop支持MCP服务器:

  • 添加一个新的MCP服务器,并指向带有--config参数的mcp-db命令。
  • 参考Claude Desktop的文档以了解如何添加自定义MCP服务器的详细信息。

查询参数

查询字典支持以下参数:

  • table_name(必需):要查询的表名
  • select_fields(可选):选择的字段列表(默认为["*"])
  • where_conditions(可选):WHERE子句中的字段值对字典
  • order_by(可选):按字段排序的列表
  • order_direction(可选):排序方向“ASC”或“DESC”(默认:“ASC”)
  • limit(可选):返回的记录数
  • offset(可选):跳过的记录数
  • group_by(可选):按字段分组的列表
  • having(可选):HAVING子句中的字段值对字典
  • join_table(可选):要连接的表名
  • join_type(可选):连接操作类型(默认:“INNER”)
  • join_conditions(可选):连接条件字典

安全特性

  • 数据库凭证通过配置文件管理
  • 密码在Pydantic模型中存储为SecretStr
  • 对所有查询参数进行输入验证
  • 通过参数化查询防止SQL注入
  • 支持SSL/TLS的加密连接
  • 连接字符串清理
  • 查询速率限制
  • 查询参数清理

生产特性

错误处理

  • 数据库操作的全面错误处理
  • 连接超时处理
  • 失败连接的自动重试机制
  • 对所有参数进行输入验证

性能

  • 为了优化资源使用,提供连接池
  • 记录查询执行时间
  • 提供连接池统计信息
  • 收集性能指标

监控

  • 不同日志级别的结构化日志
  • 查询执行跟踪
  • 连接状态监控
  • 错误率跟踪

贡献

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一些惊人的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开Pull Request

许可证

本项目采用MIT许可证 - 查看LICENSE文件获取详情。