使用说明

项目简介

Adb MySQL MCP 服务器充当 AI Agent 和阿里云 Adb MySQL 数据库之间的通用接口。它使 AI Agent 能够无缝地与 Adb MySQL 数据库通信,帮助 AI Agent 检索 Adb MySQL 数据库元数据并执行 SQL 操作。简单来说,这个项目是一个符合 Model Context Protocol (MCP) 协议的服务器,它可以让 AI Agent (比如大型语言模型) 通过标准的 MCP 协议来访问和操作阿里云的 Adb MySQL 数据库。

主要功能点

  • 资源访问: 提供对 Adb MySQL 数据库信息的访问,例如:
    • 数据库列表
    • 数据库中的表列表
    • 表的DDL语句
    • 数据库配置信息
  • 工具调用: 支持 AI Agent 调用工具来执行 SQL 查询和获取查询计划,包括:
    • 'execute_sql': 执行 SQL 查询并返回结果。
    • 'get_query_plan': 获取 SQL 查询的查询计划。
    • 'get_execution_plan': 获取 SQL 查询的实际执行计划。

安装步骤

方式一:使用本地文件

  1. 下载仓库: 从 GitHub 克隆代码仓库到本地:

    git clone https://github.com/aliyun/alibabacloud-adb-mysql-mcp-server
  2. 安装 Python 依赖: 进入仓库根目录,使用 'uv' (或者 'pip') 安装项目依赖:

    uv pip install -r pyproject.toml

    确保你已经安装了 'uv' 和 'nodejs' (为了 'npx' 命令,用于 MCP Inspector,非必须)。

方式二:使用 PIP 包

  1. 安装 PIP 包: 使用 'pip' 安装预打包的服务器程序:
    pip install adb-mysql-mcp-server

服务器配置

MCP 服务器是为 MCP 客户端设计的。你需要配置你的 MCP 客户端,告诉它如何启动和连接到 'adb-mysql-mcp-server'。 以下是两种安装方式对应的 MCP 客户端配置示例 (JSON 格式)。你需要将这些配置添加到你的 MCP 客户端的配置文件中。

方式一配置 (本地文件方式安装):

{
  "mcpServers": {
    "adb-mysql-mcp-server": {
      "command": "uv",  // 启动命令,这里使用 uv 运行器
      "args": [
        "--directory",  // 指定工作目录
        "/path/to/alibabacloud-adb-mysql-mcp-server", // 替换为你的仓库本地路径
        "run",          // uv run 命令
        "adb-mysql-mcp-server" // 运行的程序名称,对应 server.py 中的 app = Server(...) name 参数
      ],
      "env": { // 环境变量配置,用于数据库连接
        "ADB_MYSQL_HOST": "your_adb_mysql_host",    // Adb MySQL 主机地址
        "ADB_MYSQL_PORT": "your_adb_mysql_port",    // Adb MySQL 端口
        "ADB_MYSQL_USER": "your_adb_mysql_user",    // Adb MySQL 用户名
        "ADB_MYSQL_PASSWORD": "your_adb_mysql_password", // Adb MySQL 密码
        "ADB_MYSQL_DATABASE": "your_adb_mysql_database" // 默认数据库名
      }
    }
  }
}

方式二配置 (PIP 包方式安装):

{
  "mcpServers": {
    "adb-mysql-mcp-server": {
      "command": "uv",  // 启动命令,这里使用 uv 运行器
      "args": [
        "run",          // uv run 命令
        "--with",       // 使用 --with 参数指定通过 pip 安装的包名
        "adb-mysql-mcp-server", // pip 包名
        "adb-mysql-mcp-server" // 运行的程序名称,对应 server.py 中的 app = Server(...) name 参数
      ],
      "env": { // 环境变量配置,用于数据库连接
        "ADB_MYSQL_HOST": "your_adb_mysql_host",    // Adb MySQL 主机地址
        "ADB_MYSQL_PORT": "your_adb_mysql_port",    // Adb MySQL 端口
        "ADB_MYSQL_USER": "your_adb_mysql_user",    // Adb MySQL 用户名
        "ADB_MYSQL_PASSWORD": "your_adb_mysql_password", // Adb MySQL 密码
        "ADB_MYSQL_DATABASE": "your_adb_mysql_database" // 默认数据库名
      }
    }
  }
}

注意:

  • 请将 '/path/to/alibabacloud-adb-mysql-mcp-server' 替换为你克隆仓库的实际本地路径 (仅在本地文件方式安装时需要)。
  • 请将 'your_adb_mysql_host', 'your_adb_mysql_port', 'your_adb_mysql_user', 'your_adb_mysql_password', 'your_adb_mysql_database' 替换为你的阿里云 Adb MySQL 数据库的实际连接信息。
  • 你需要确保你的 MCP 客户端能够正确读取和解析这个 JSON 配置文件。
  • 'uv' 是一种快速的 Python 包安装和运行工具,你也可以根据你的环境和 MCP 客户端的要求,调整 'command' 和 'args' 配置,例如使用 'python' 命令直接运行 'server.py' 文件。

基本使用方法

一旦你的 MCP 客户端配置了 'adb-mysql-mcp-server',并且服务器成功启动,你就可以在你的 AI Agent 应用中,通过 MCP 协议与该服务器进行交互。

资源访问示例:

  • 请求数据库列表: 使用资源 URI 'adbmysql:///databases'
  • 请求指定数据库的表列表 (假设数据库名为 'mydatabase'): 使用资源 URI 'adbmysql:///mydatabase/tables'
  • 请求表的 DDL (假设数据库名为 'mydatabase', 表名为 'mytable'): 使用资源 URI 'adbmysql:///mydatabase/mytable/ddl'

工具调用示例:

  • 调用 'execute_sql' 工具执行 SQL 查询。 例如,客户端发送一个 JSON-RPC 请求,指定工具名为 'execute_sql',参数为 '{"query": "SELECT * FROM mytable LIMIT 10;"}'。
  • 调用 'get_query_plan' 或 'get_execution_plan' 工具类似,只需更改工具名和 SQL 查询语句即可。

请参考 MCP 协议文档和你的 MCP 客户端的具体使用方法,来构建和发送符合 MCP 协议的请求,与 'adb-mysql-mcp-server' 进行交互,从而实现 AI Agent 对 Adb MySQL 数据库的访问和操作。

信息

分类

数据库与文件