HologresSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
English | 中文
Hologres MCP Server serves as a universal interface between AI Agents and Hologres databases. It enables seamless communication between AI Agents and Hologres, helping AI Agents retrieve Hologres database metadata and execute SQL operations.
Configuration
Mode 1: Using Local File
Download
Download from Github
git clone https://github.com/aliyun/alibabacloud-hologres-mcp-server.git
MCP Integration
Add the following configuration to the MCP client configuration file:
{
"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"
}
}
}
}Mode 2: Using PIP Mode
Installation
Install MCP Server using the following package:
pip install hologres-mcp-server
MCP Integration
Add the following configuration to the MCP client configuration file:
Use uv mode
{
"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"
}
}
}
}Use uvx mode
{
"mcpServers": {
"hologres-mcp-server": {
9dcd2fddeca9OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add hologres_mcp_server --env ALIBABA_CLOUD_ACCESS_KEY_ID=${ALIBABA_CLOUD_ACCESS_KEY_ID} --env ALIBABA_CLOUD_ACCESS_KEY_SECRET=${ALIBABA_CLOUD_ACCESS_KEY_SECRET} --env ALIBABA_CLOUD_SECURITY_TOKEN=${ALIBABA_CLOUD_SECURITY_TOKEN} --env HOLOGRES_PASSWORD=${HOLOGRES_PASSWORD} -- npx -y [email protected]{
"mcpServers": {
"hologres_mcp_server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "${ALIBABA_CLOUD_ACCESS_KEY_ID}",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "${ALIBABA_CLOUD_ACCESS_KEY_SECRET}",
"ALIBABA_CLOUD_SECURITY_TOKEN": "${ALIBABA_CLOUD_SECURITY_TOKEN}",
"HOLOGRES_PASSWORD": "${HOLOGRES_PASSWORD}"
}
}
}
}Exposed tools (31)
24 read · 4 write · 3 destructive. Blast radius: 3 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
analyze_hg_query_by_id | read | Analyze a specific query |
call_hg_procedure | read | Call a stored procedure in Hologres database. |
execute_hg_ddl_sql | destructive | Execute (CREATE, ALTER, DROP) SQL statements to CREATE, ALTER, or DROP tables, views, procedures, GUCs etc. in Hologres database. |
execute_hg_dml_sql | destructive | Execute (INSERT, UPDATE, DELETE, REFRESH DYNAMIC TABLE) SQL to insert, update, delete data, and refresh dynamic tables in Hologres database. |
execute_hg_select_sql | write | Execute SELECT SQL to query data from Hologres database. |
execute_hg_select_sql_with_serverless | write | Use Serverless Computing resources to execute SELECT SQL to query data in Hologres database. When the error like |
gather_hg_table_statistics | write | Execute the ANALYZE TABLE command to have Hologres collect table statistics, enabling QO to generate better query plans. |
get_hg_dynamic_table_refresh_history | read | Get refresh history for a specific Dynamic Table, including duration, status, and latency. |
get_hg_execution_plan | read | Get actual execution plan with runtime statistics for a SQL query in Hologres database. |
get_hg_guc_config | read | Get the current value of a GUC (Grand Unified Configuration) parameter. |
get_hg_lock_diagnostics | read | Diagnose lock contention by showing blocking and waiting queries. Useful for identifying lock waits that cause query hangs. |
get_hg_query_plan | read | Get query plan for a SQL query in Hologres database. |
get_hg_table_info_trend | read | Get table storage trend from hg_table_info, showing daily storage size, file count, and row count changes. Data is T+1, retained for 30 days. |
get_hg_table_properties | read | Get table properties including distribution_key, clustering_key, segment_key, bitmap_columns, dictionary_columns, binlog settings, etc. |
get_hg_table_shard_info | read | Get table |
get_hg_table_storage_size | read | Get storage size details of a table, including total size, data, index, and metadata breakdown. |
get_hg_warehouse_status | read | Get detailed running status and scaling progress of a computing group (warehouse). |
list_hg_active_queries | read | List currently active queries and connections from pg_stat_activity. Useful for monitoring running queries and finding PIDs to cancel. |
list_hg_data_masking_rules | read | List all data masking rules configured via hg_anon extension, including column-level and user-level masking labels. |
list_hg_dynamic_tables | read | List all Dynamic Tables with their status, freshness settings, and last refresh info. |
list_hg_external_databases | read | List all External Databases (federated databases for Lakehouse acceleration). Requires Hologres V3.0+. |
list_hg_query_queues | read | List all Query Queues and their classifiers, showing concurrency limits, queue sizes, and routing rules. Requires Hologres V3.0+. |
list_hg_recyclebin | read | List all tables in the Hologres recycle bin (dropped tables that can be restored). |
list_hg_schemas | read | List all schemas in the current Hologres database, excluding system schemas. |
list_hg_tables_in_a_schema | read | List all tables in a specific schema in the current Hologres database, including their types (table, view, foreign table, partitioned table). |
list_hg_warehouses | read | List all computing groups (warehouses) in the Hologres instance, including their CPU, memory, cluster count, and status. |
manage_hg_classifier | destructive | Create or drop a classifier for a Query Queue. Use set_hg_query_queue_property to configure classifier rules after creation. Requires Hologres V3.0+. |
rebalance_hg_warehouse | write | Trigger shard rebalancing for a computing group to eliminate data skew across nodes. |
restore_hg_table_from_recyclebin | read | Restore a dropped table from the Hologres recycle bin. Only works if the table is still in the recycle bin. |
show_hg_table_ddl | read | Show DDL script for a table, view, or foreign table in Hologres database. |
switch_hg_warehouse | read | Switch the current session |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (4)
execute_hg_ddl_sql, execute_hg_dml_sql, manage_hg_classifier
.gitlab-ci.yml
.test_mcp_client_env_example
mcp, python-dotenv, psycopg
Gates applied: no_behavioural_pass.
9dcd2fddeca9full audit observations/trust-audit/mcp-server/aliyun__hologres.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 9dcd2fddeca9 | SAFE | B | 89 | first audit |
Questions
What tools does Hologres expose?
31 in total: 24 read-only, 4 that write, and 3 that can delete or overwrite (execute_hg_ddl_sql, execute_hg_dml_sql, manage_hg_classifier). Every one is listed on this page with its risk.
Is Hologres safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 3 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Hologres need?
It reads ALIBABA_CLOUD_ACCESS_KEY_ID, ALIBABA_CLOUD_ACCESS_KEY_SECRET, ALIBABA_CLOUD_SECURITY_TOKEN and HOLOGRES_PASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Hologres run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as hologres_mcp_server at 1.0.2.
How current is this page?
The grade is for one exact copy of the source (9dcd2fddeca9), read on 2026-10-08. The repository is watched and re-audited when it changes.