Hologres MCP 服务器
项目简介
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 包两种安装方式,方便用户快速部署和使用。
安装步骤
方式一:使用本地文件
- 下载仓库: 从 GitHub 克隆代码仓库到本地:
git clone https://github.com/aliyun/alibabacloud-hologres-mcp-server.git
方式二:使用 PIP 包
- 安装 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 数据库名,请替换为实际数据库名 } } } }
基本使用方法
- 配置 MCP 客户端: 根据上述 "服务器配置" 部分的说明,配置您的 MCP 客户端,将 'hologres-mcp-server' 添加到 'mcpServers' 列表中。
- 连接 MCP 服务器: 启动您的 MCP 客户端,客户端会根据配置尝试连接并初始化 Hologres MCP 服务器。
- 使用 Resources 和 Tools: 在 MCP 客户端中,您可以:
- 列出 Resources: 查询服务器提供的资源列表,了解可以访问的数据库信息。
- 读取 Resource: 根据 Resource 的 URI 读取具体的数据库信息,例如获取 Schema 列表或 Table DDL。
- 列出 Tools: 查询服务器提供的工具列表,了解可以执行的数据库操作。
- 调用 Tool: 根据 Tool 的名称和参数,调用工具执行相应的数据库操作,例如执行 SQL 查询或分析表结构。
具体的操作方式取决于您使用的 MCP 客户端的功能和界面,请参考您所用 MCP 客户端的文档。
注意: 使用前请确保已正确安装 uv (或 python 等执行器) 并配置到系统 PATH 环境变量中,且已正确配置 Hologres 数据库的连接信息。