项目简介

Hologres MCP 服务器是一个基于 Model Context Protocol (MCP) 实现的应用后端,旨在为 AI Agent 提供访问阿里云 Hologres 数据库的能力。通过标准化的 MCP 协议,服务器允许 AI Agent 安全、便捷地检索 Hologres 数据库的元数据信息,并执行 SQL 查询等操作。这使得 AI Agent 能够利用 Hologres 数据库的强大数据处理能力,构建更加智能和数据驱动的应用。

主要功能点

  • 资源 (Resources) 管理: 提供对 Hologres 数据库信息的标准化访问,例如:
    • 获取数据库中所有 Schema 列表
    • 获取指定 Schema 下的 Table 列表
    • 获取 Table 的 DDL 语句
    • 获取 Table 的统计信息
    • 查询系统运行日志,包括最近的查询日志、特定用户的查询日志、特定应用的查询日志等。
  • 工具 (Tools) 注册与执行: 提供用于操作 Hologres 数据库的工具,例如:
    • 执行 SQL 查询
    • 分析表结构,收集统计信息
    • 获取查询执行计划和实际执行计划。
  • 基于标准 MCP 协议: 采用 JSON-RPC 通信协议,易于与各种 MCP 客户端集成。
  • 支持多种部署方式: 支持本地文件和 PIP 包两种安装方式,方便用户快速部署和使用。

安装步骤

方式一:使用本地文件

  1. 下载仓库: 从 GitHub 克隆代码仓库到本地:
    git clone https://github.com/aliyun/alibabacloud-hologres-mcp-server.git

方式二:使用 PIP 包

  1. 安装 PIP 包: 使用 pip 命令安装预编译的包:
    pip install hologres-mcp-server

服务器配置

MCP 客户端需要配置 MCP 服务器的启动信息才能连接并使用 Hologres MCP 服务器。以下是两种安装方式对应的 MCP 客户端配置示例 (JSON 格式),请根据您的安装方式选择其一进行配置。

注意: 以下配置示例中的 '/path/to/alibabacloud-hologres-mcp-server' 需要替换为您本地仓库的实际路径。 'host', 'port', 'access_id', 'access_key', 'database' 等占位符需要替换为您的 Hologres 数据库的连接信息。

方式一:本地文件配置示例

{
  "mcpServers": {
    "hologres-mcp-server": {  // 服务器名称,客户端配置中用于引用
      "command": "uv",        // 启动命令,这里使用 uv (假设已安装 uv 并添加到 PATH 环境变量中,也可以是 python 或其他执行器)
      "args": [               // 启动参数
        "--directory",      // 指定工作目录
        "/path/to/alibabacloud-hologres-mcp-server", //  本地仓库路径,请替换为实际路径
        "run",              // uv run 命令
        "hologres-mcp-server" //  运行 hologres-mcp-server 应用
      ],
      "env": {                // 环境变量配置,用于连接 Hologres 数据库
        "HOLOGRES_HOST": "host",        // Hologres 主机地址,请替换为实际地址
        "HOLOGRES_PORT": "port",        // Hologres 端口号,请替换为实际端口
        "HOLOGRES_USER": "access_id",   // Hologres 用户名 (Access ID),请替换为实际用户名
        "HOLOGRES_PASSWORD": "access_key", // Hologres 密码 (Access Key),请替换为实际密码
        "HOLOGRES_DATABASE": "database"  // Hologres 数据库名,请替换为实际数据库名
      }
    }
  }
}

方式二:PIP 包配置示例

{
  "mcpServers": {
    "hologres-mcp-server": {  // 服务器名称,客户端配置中用于引用
      "command": "uv",        // 启动命令,这里使用 uv (假设已安装 uv 并添加到 PATH 环境变量中,也可以是 python 或其他执行器)
      "args": [               // 启动参数
        "run",              // uv run 命令
        "--with",           // 使用已安装的包
        "hologres-mcp-server", //  指定要运行的 PIP 包名称
        "hologres-mcp-server" //  运行 hologres-mcp-server 应用
      ],
      "env": {                // 环境变量配置,用于连接 Hologres 数据库
        "HOLOGRES_HOST": "host",        // Hologres 主机地址,请替换为实际地址
        "HOLOGRES_PORT": "port",        // Hologres 端口号,请替换为实际端口
        "HOLOGRES_USER": "access_id",   // Hologres 用户名 (Access ID),请替换为实际用户名
        "HOLOGRES_PASSWORD": "access_key", // Hologres 密码 (Access Key),请替换为实际密码
        "HOLOGRES_DATABASE": "database"  // Hologres 数据库名,请替换为实际数据库名
      }
    }
  }
}

基本使用方法

  1. 配置 MCP 客户端: 根据上述 "服务器配置" 部分的说明,配置您的 MCP 客户端,将 'hologres-mcp-server' 添加到 'mcpServers' 列表中。
  2. 连接 MCP 服务器: 启动您的 MCP 客户端,客户端会根据配置尝试连接并初始化 Hologres MCP 服务器。
  3. 使用 Resources 和 Tools: 在 MCP 客户端中,您可以:
    • 列出 Resources: 查询服务器提供的资源列表,了解可以访问的数据库信息。
    • 读取 Resource: 根据 Resource 的 URI 读取具体的数据库信息,例如获取 Schema 列表或 Table DDL。
    • 列出 Tools: 查询服务器提供的工具列表,了解可以执行的数据库操作。
    • 调用 Tool: 根据 Tool 的名称和参数,调用工具执行相应的数据库操作,例如执行 SQL 查询或分析表结构。

具体的操作方式取决于您使用的 MCP 客户端的功能和界面,请参考您所用 MCP 客户端的文档。

注意: 使用前请确保已正确安装 uv (或 python 等执行器) 并配置到系统 PATH 环境变量中,且已正确配置 Hologres 数据库的连接信息。

信息

分类

数据库与文件