注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以不推荐直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,强烈推荐通过
s init ${模版名称}的方法或应用中心进行初始化,详情可参考部署 & 体验 。
阿里云hologres MCP 服务
使用该项目,您需要有开通以下服务并拥有对应权限:
| 服务/业务 | 权限 | 相关文档 |
|---|---|---|
| 函数计算 | AliyunFCFullAccess | 帮助文档 计费文档 |
-
🔥 通过 云原生应用开发平台 CAP ,
该应用。
-
部署该应用时,可以使用一个RAM Role 访问Hologres,无需用户输入账号密码,提升安全性。
-
对于指定的 RAM Role,需要参考 Hologres 的用户管理文档将用户加入Hologres实例,然后根据DB管理文档授予 RAM Role 对应的权限。
Hologres MCP 服务器作为 AI 代理与 Hologres 数据库之间的通用接口,支持 AI 代理与 Hologres 之间的无缝通信,帮助 AI 代理获取 Hologres 数据库元数据并执行 SQL 操作。
从 Github 下载:
git clone https://github.com/aliyun/alibabacloud-hologres-mcp-server.git在 MCP 客户端配置文件中添加以下配置:
"mcpServers": {
"hologres-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/alibabacloud-hologres-mcp-server",
"run",
"hologres-mcp-server"
],
"env": {
"HOLOGRES_HOST": "host",
"HOLOGRES_PORT": "port",
"HOLOGRES_USER": "access_id",
"HOLOGRES_PASSWORD": "access_key",
"HOLOGRES_DATABASE": "database"
}
}
}使用以下包安装 MCP 服务器:
pip install hologres-mcp-server在 MCP 客户端配置文件中添加以下配置:
"mcpServers": {
"hologres-mcp-server": {
"command": "uv",
"args": [
"run",
"--with",
"hologres-mcp-server",
"hologres-mcp-server"
],
"env": {
"HOLOGRES_HOST": "host",
"HOLOGRES_PORT": "port",
"HOLOGRES_USER": "access_id",
"HOLOGRES_PASSWORD": "access_key",
"HOLOGRES_DATABASE": "database"
}
}
}-
execute_select_sql:在 Hologres 数据库中执行 SELECT SQL 查询 -
execute_dml_sql:在 Hologres 数据库中执行 DML(INSERT、UPDATE、DELETE)SQL 查询 -
execute_ddl_sql:在 Hologres 数据库中执行 DDL(CREATE、ALTER、DROP)SQL 查询 -
gather_table_statistics:收集表统计信息 -
get_query_plan:获取查询计划 -
get_execution_plan:获取执行计划
hologres:///schemas:获取数据库中的所有模式
-
hologres:///{schema}/tables:列出某个模式下的所有表 -
hologres:///{schema}/{table}/partitions:列出分区表的所有分区 -
hologres:///{schema}/{table}/ddl:获取表的 DDL -
hologres:///{schema}/{table}/statistic:显示收集的表统计信息 -
system:///{+system_path}:
系统路径包括:
missing_stats_tables - 显示缺少统计信息的表
stat_activity - 显示当前正在运行的查询信息
query_log/latest/<row_limits> - 获取指定行数的最近查询日志历史
query_log/user/<user_name>/<row_limits> - 获取指定用户的指定行数查询日志历史
query_log/application/<application_name>/<row_limits> - 获取指定应用的指定行数查询日志历史
query_log/failed/<interval>/<row_limits> - 获取指定时间间隔和行数的失败查询日志历史
部署完成拿到 URL 后,准备好支持 SSE 的 MCP Client,通过 SSETransport 进行连接。