MCP ExplorerExplorer

Hologres MCP Server

@aliyunon 11 days ago
21 Apache-2.0
FreeOfficial
Databases
#hologres#database#SQL
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.

Overview

What is Hologres MCP Server

Hologres MCP Server is a middleware that facilitates communication between AI agents and Hologres databases. It allows AI agents to interact with the database to retrieve metadata and execute SQL queries seamlessly.

Use cases

Use cases for Hologres MCP Server include executing SQL queries (SELECT, DML, DDL), gathering table statistics, retrieving query and execution plans, and invoking stored procedures. It serves as an interface for AI agents to obtain information about database schemas, tables, and their respective statistics.

How to use

Hologres MCP Server can be configured in two modes: using a local file or via pip installation. The configuration requires specifying host, port, user credentials, and database information in the MCP client configuration file. Different command modes (like ‘uv’ or ‘uvx’) are used to run the server depending on the installation method.

Key features

Key features of Hologres MCP Server include executing various types of SQL queries (SELECT, DML, DDL), collecting table statistics, fetching query plans, and generating metadata for schemas and tables. It supports both traditional and serverless query execution, enhancing flexibility and performance.

Where to use

Hologres MCP Server is suitable for applications requiring real-time data processing, analytics, and AI-driven insights from Hologres databases. It can be utilized in data engineering workflows, business intelligence, and AI model training scenarios that demand efficient database interactions.

Content

English | 中文

Hologres MCP Server

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"
      }
    }
  }
}

Components

Tools

  • 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.

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).
  • show_hg_table_ddl: Show the DDL script of a table, view, or external table in the Hologres database.

Resources

Built-in Resources

  • hologres:///schemas: Get all schemas in Hologres database

Resource Templates

  • hologres:///{schema}/tables: List all tables in a schema in Hologres database

  • hologres:///{schema}/{table}/partitions: List all partitions of a partitioned table in Hologres database

  • hologres:///{schema}/{table}/ddl: Get table DDL in Hologres database

  • hologres:///{schema}/{table}/statistic: Show collected table statistics in Hologres database

  • system:///{+system_path}:
    System paths include:

    • hg_instance_version - Shows the hologres instance version.
    • guc_value/<guc_name> - Shows the guc (Grand Unified Configuration) value.
    • missing_stats_tables - Shows the tables that are missing statistics.
    • stat_activity - Shows the information of current running queries.
    • query_log/latest/<row_limits> - Get recent query log history with specified number of rows.
    • query_log/user/<user_name>/<row_limits> - Get query log history for a specific user with row limits.
    • query_log/application/<application_name>/<row_limits> - Get query log history for a specific application with row limits.
    • query_log/failed/<interval>/<row_limits> - Get failed query log history with interval and specified number of rows.

Prompts

None at this time

Tools

execute_select_sql
Execute SELECT SQL to query data from Hologres database.
execute_dml_sql
Execute (INSERT, UPDATE, DELETE) SQL to insert, update, and delete data in Hologres databse.
execute_ddl_sql
Execute (CREATE, ALTER, DROP) SQL statements to CREATE, ALTER, or DROP tables, views, procedures, GUCs etc. in Hologres databse.
gather_table_statistics
Execute the ANALYZE TABLE command to have Hologres collect table statistics, enabling QO to generate better query plans
get_query_plan
Get query plan for a SQL query
get_execution_plan
Get actual execution plan with runtime statistics for a SQL query

Comments