Hologres

Official

by aliyun

34 282 downloads Not rated yet Apache-2.0
GitHub

About

Connect to a [Hologres](https://www.alibabacloud.com/en/product/hologres) instance, get table metadata, query and analyze data.

Details

License
Apache-2.0

Explore

- Execute SELECT, DML, and DDL SQL queries on Hologres
- Retrieve metadata: schemas, tables, views, external tables, DDL
- Collect table statistics and get query plans
- Analyze slow queries and active queries
- Manage dynamic tables, query queues, warehouses, and recycling bin
- Generate charts from query results (bar, line, scatter, pie, histogram, area)
- Access system information via resource templates

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Hologres
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install MCP Server using the following package:

pip install hologres-mcp-server

hologres-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000

uv sync --dev
uv pip install ruff

pip install twine

execute_hg_select_sql

Execute a SELECT SQL query in Hologres database

execute_hg_select_sql_with_serverless

Execute a SELECT SQL query in Hologres database with serverless computing

execute_hg_dml_sql

Execute a DML (INSERT, UPDATE, DELETE) SQL query in Hologres database

execute_hg_ddl_sql

Execute a DDL (CREATE, ALTER, DROP, COMMENT ON) SQL query in Hologres database

gather_hg_table_statistics

Collect table statistics in Hologres database

get_hg_query_plan

Get query plan in Hologres database

get_hg_execution_plan

Get execution plan in Hologres database

call_hg_procedure

Invoke a procedure in Hologres database

create_hg_maxcompute_foreign_table

Create MaxCompute foreign tables in Hologres database.

list_hg_schemas

Lists all schemas in the current Hologres database, excluding system schemas.

list_hg_tables_in_a_schema

Lists all tables in a specific schema, including their types (table, view, external table, partitioned table).

show_hg_table_ddl

Show the DDL script of a table, view, or external table in the Hologres database.

query_and_plotly_chart

Execute a SELECT SQL query and generate a chart (bar, line, scatter, pie, histogram, area). Returns query results and a base64-encoded PNG image.

analyze_hg_query_by_id

Analyze a specific query's performance profile by its query_id from hg_query_log. Returns detailed metrics including duration, memory, CPU time, read/write stats.

get_hg_slow_queries

Get slow queries from hg_query_log ordered by duration.

list_hg_dynamic_tables

List all Dynamic Tables with their status, freshness settings, and last refresh info.

get_hg_dynamic_table_refresh_history

Get refresh history for a specific Dynamic Table, including duration, status, and latency.

list_hg_recyclebin

List all tables in the Hologres recycle bin (dropped tables that can be restored).

restore_hg_table_from_recyclebin

Restore a dropped table from the Hologres recycle bin.

list_hg_warehouses

List all computing groups (warehouses) with their CPU, memory, cluster count, and status.

switch_hg_warehouse

Switch the current session's computing resource to a specified warehouse.

get_hg_table_storage_size

Get storage size details of a table, including total, data, index, and metadata breakdown.

cancel_hg_query

Cancel or terminate a running query by its process ID.

list_hg_active_queries

List currently active queries and connections from pg_stat_activity.

list_hg_query_queues

List all Query Queues and their classifiers (concurrency limits, routing rules). Requires V3.0+.

get_hg_table_properties

Get table properties including distribution_key, clustering_key, segment_key, bitmap_columns, binlog settings, etc.

get_hg_table_shard_info

Get table's Table Group and shard count info for diagnosing data skew.

list_hg_external_databases

List all External Databases and Foreign Servers for Lakehouse acceleration. Requires V3.0+.

get_hg_lock_diagnostics

Diagnose lock contention by showing blocking and waiting queries.

get_hg_table_info_trend

Get table storage trend from hg_table_info, showing daily storage size, file count, and row count changes.

manage_hg_query_queue

Create, drop, or clear a Query Queue. Requires V3.0+ and superuser privileges.

manage_hg_classifier

Create or drop a classifier for a Query Queue. Requires V3.0+.

set_hg_query_queue_property

Set or remove properties on a Query Queue or classifier. Requires V3.0+.

manage_hg_warehouse

Manage a computing group: suspend, resume, restart, rename, or resize. Requires superuser.

get_hg_warehouse_status

Get detailed running status and scaling progress of a computing group.

rebalance_hg_warehouse

Trigger shard rebalancing for a computing group to eliminate data skew.

list_hg_data_masking_rules

List all data masking rules configured via hg_anon extension (column-level and user-level).

query_hg_external_files

Query files directly from OSS using EXTERNAL_FILES function without creating foreign tables. Requires V4.1+.

get_hg_guc_config

Get the current value of a GUC (Grand Unified Configuration) parameter.

execute_hg_select_sql: Execute a SELECT SQL query in Hologres database
execute_hg_select_sql_with_serverless: Execute a SELECT SQL query in Hologres database with serverless computing
execute_hg_dml_sql: Execute a DML (INSERT, UPDATE, DELETE) SQL query in Hologres database
execute_hg_ddl_sql: Execute a DDL (CREATE, ALTER, DROP, COMMENT ON) SQL query in Hologres database
gather_hg_table_statistics: Collect table statistics in Hologres database
- Parameters: schema_name (string), table (string)
get_hg_query_plan: Get query plan in Hologres database
get_hg_execution_plan: Get execution plan in Hologres database
call_hg_procedure: Invoke a procedure in Hologres database
create_hg_maxcompute_foreign_table: Create MaxCompute foreign tables in Hologres database.

Since some Agents do not support resources and resource templates, the following tools are provided to obtain the metadata of schemas, tables, views, and external tables.
list_hg_schemas: Lists all schemas in the current Hologres database, excluding system schemas.
list_hg_tables_in_a_schema: Lists all tables in a specific schema, including their types (table, view, external table, partitioned table).
- Parameters: schema_name (string)
show_hg_table_ddl: Show the DDL script of a table, view, or external table in the Hologres database.
- Parameters: schema_name (string), table (string)
query_and_plotly_chart: Execute a SELECT SQL query and generate a chart (bar, line, scatter, pie, histogram, area). Returns query results and a base64-encoded PNG image.
- Parameters: query (string), chart_type (string, default "bar"), x_column (string), y_column (string), title (string)
analyze_hg_query_by_id: Analyze a specific query's performance profile by its query_id from hg_query_log. Returns detailed metrics including duration, memory, CPU time, read/write stats.
- Parameters: query_id (string)
get_hg_slow_queries: Get slow queries from hg_query_log ordered by duration.
- Parameters: min_duration_ms (int, default 1000), limit (int, default 20)
list_hg_dynamic_tables: List all Dynamic Tables with their status, freshness settings, and last refresh info.
- Parameters: schema_name (string, optional)
get_hg_dynamic_table_refresh_history: Get refresh history for a specific Dynamic Table, including duration, status, and latency.
- Parameters: schema_name (string), table_name (string), limit (int, default 10)
list_hg_recyclebin: List all tables in the Hologres recycle bin (dropped tables that can be restored).
restore_hg_table_from_recyclebin: Restore a dropped table from the Hologres recycle bin.
- Parameters: table_name (string), schema_name (string, default "public")
list_hg_warehouses: List all computing groups (warehouses) with their CPU, memory, cluster count, and status.
switch_hg_warehouse: Switch the current session's computing resource to a specified warehouse.
- Parameters: warehouse_name (string)
get_hg_table_storage_size: Get storage size details of a table, including total, data, index, and metadata breakdown.
- Parameters: schema_name (string), table (string)
cancel_hg_query: Cancel or terminate a running query by its process ID.
- Parameters: pid (int), terminate (bool, default false)
list_hg_active_queries: List currently active queries and connections from pg_stat_activity.
- Parameters: state (string: "active", "idle", or "all", default "active")
list_hg_query_queues: List all Query Queues and their classifiers (concurrency limits, routing rules). Requires V3.0+.
get_hg_table_properties: Get table properties including distribution_key, clustering_key, segment_key, bitmap_columns, binlog settings, etc.
- Parameters: schema_name (string), table (string)
get_hg_table_shard_info: Get table's Table Group and shard count info for diagnosing data skew.
- Parameters: schema_name (string), table (string)
list_hg_external_databases: List all External Databases and Foreign Servers for Lakehouse acceleration. Requires V3.0+.
get_hg_lock_diagnostics: Diagnose lock contention by showing blocking and waiting queries.
get_hg_table_info_trend: Get table storage trend from hg_table_info, showing daily storage size, file count, and row count changes.
- Parameters: schema_name (string), table (string), days (int, default 7)
manage_hg_query_queue: Create, drop, or clear a Query Queue. Requires V3.0+ and superuser privileges.
- Parameters: action (string: "create", "drop", "clear"), queue_name (string), max_concurrency (int, for create), max_queue_size (int, for create)
manage_hg_classifier: Create or drop a classifier for a Query Queue. Requires V3.0+.
- Parameters: action (string: "create", "drop"), queue_name (string), classifier_name (string), priority (int, for create)
set_hg_query_queue_property: Set or remove properties on a Query Queue or classifier. Requires V3.0+.
- Parameters: target (string: "queue", "classifier"), queue_name (string), property_key (string), property_value (string), classifier_name (string, for classifier), action (string: "set", "remove")
manage_hg_warehouse: Manage a computing group: suspend, resume, restart, rename, or resize. Requires superuser.
- Parameters: action (string: "suspend", "resume", "restart", "rename", "resize"), warehouse_name (string), cu (int, for resize), new_name (string, for rename)
get_hg_warehouse_status: Get detailed running status and scaling progress of a computing group.
- Parameters: warehouse_name (string)
rebalance_hg_warehouse: Trigger shard rebalancing for a computing group to eliminate data skew.
- Parameters: warehouse_name (string)
list_hg_data_masking_rules: List all data masking rules configured via hg_anon extension (column-level and user-level).
query_hg_external_files: Query files directly from OSS using EXTERNAL_FILES function without creating foreign tables. Requires V4.1+.
- Parameters: path (string), format (string: "csv", "parquet", "orc"), columns (string, optional), oss_endpoint (string, optional), role_arn (string, optional)

  • get_hg_guc_config: Get the current value of a GUC (Grand Unified Configuration) parameter.

- Parameters: guc_name (string)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "hologres": {
            "alibabacloud-hologres-mcp-server": {
                "command": "uvx",
                "args": [
                    "hologres-mcp-server",
                    "--transport",
                    "streamable-http",
                    "--host",
                    "0.0.0.0",
                    "--port",
                    "8000"
                ]
            }
        }
    }
}

McpServers

{
    "alibabacloud-hologres-mcp-server": {
        "command": "uvx",
        "args": [
            "hologres-mcp-server",
            "--transport",
            "streamable-http",
            "--host",
            "0.0.0.0",
            "--port",
            "8000"
        ]
    }
}

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": {
            "command": "uvx",
            "args": [
                "hologres-mcp-server"
            ],
            "env": {
                "HOLOGRES_HOST": "host",
                "HOLOGRES_PORT": "port",
                "HOLOGRES_USER": "access_id",
                "HOLOGRES_PASSWORD": "access_key",
                "HOLOGRES_DATABASE": "database"
            }
        }
    }
}

Mode 3: Using Streamable HTTP Transport

The server supports Streamable HTTP transport for remote deployment scenarios where STDIO is not available.

Start the server

Before starting the server, set the Hologres connection environment variables:

export HOLOGRES_HOST="your-hologres-instance.hologres.aliyuncs.com"
export HOLOGRES_PORT="80"
export HOLOGRES_USER="your_access_id"
export HOLOGRES_PASSWORD="your_access_key"
export HOLOGRES_DATABASE="your_database"

Then start the server:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.