Skip to main content
Glama
aliyun

Hologres MCP Server

Official
by aliyun

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

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:

# Using pip-installed package
hologres-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000

# Or using uvx
uvx hologres-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000

The MCP endpoint will be available at http://<host>:<port>/mcp.

CLI Options

Option

Default

Description

--transport

stdio

Transport type: stdio, streamable-http, or sse

--host

127.0.0.1

Host to bind to (HTTP transports only)

--port

8000

Port to listen on (HTTP transports only)

MCP Integration

Add the following configuration to the MCP client configuration file:

{
    "mcpServers": {
        "hologres-mcp-server": {
            "url": "http://<host>:<port>/mcp"
        }
    }
}

Related MCP server: PolarDB-X MCP Server

Using with Claude Code

# Add to Claude Code
claude mcp add hologres-mcp-server \
  -e HOLOGRES_HOST=<your_host> \
  -e HOLOGRES_PORT=<your_port> \
  -e HOLOGRES_USER=<your_access_id> \
  -e HOLOGRES_PASSWORD=<your_access_key> \
  -e HOLOGRES_DATABASE=<your_database> \
  -- uvx hologres-mcp-server

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

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

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

  • analyze_table_performance: Generate a prompt to analyze table performance in Hologres

  • optimize_query: Generate a prompt to optimize a SQL query in Hologres

  • explore_schema: Generate a prompt to explore a schema in Hologres database

Testing

The project includes comprehensive unit tests and integration tests.

Unit Tests

Unit tests do not require a database connection and use mocked dependencies. The test suite includes 326 test cases covering:

  • Tools functionality and SQL validation

  • Resources and resource templates

  • Prompts generation

  • Utility functions and error handling

  • Concurrency scenarios

  • SQL injection protection

# Run all unit tests
uv run pytest tests/unit/ -v

# Run specific test file
uv run pytest tests/unit/test_tools.py -v

# Run with coverage
uv run pytest tests/unit/ --cov=src/hologres_mcp_server --cov-report=html

Integration Tests

Integration tests require a real Hologres database connection. The test suite includes 61 test cases organized into 12 test classes:

Test Class

Tests

Description

TestMCPConnection

5

MCP server connection and basic functionality

TestMCPResources

14

Resource reading functionality (schemas, tables, DDL, statistics, partitions, query logs)

TestMCPTools

10

Tool calls for read-only operations

TestMCPProcedureTools

3

Stored procedure tool calls

TestMCPMaxComputeTools

1

MaxCompute foreign table creation

TestMCPDDLTools

5

DDL operations (CREATE, ALTER, DROP, COMMENT)

TestMCPDMLTools

3

DML operations (INSERT, UPDATE, DELETE)

TestErrorHandling

3

Error handling and edge cases

TestMCPPrompts

4

Prompt generation functionality

TestMCPConcurrency

3

Concurrent MCP operations

TestMCPBoundaryConditions

4

Edge cases (Unicode, NULL, empty results)

TestMCPPerformance

3

Performance scenarios (large/wide result sets)

  1. Create a configuration file from the example:

cp tests/integration/.test_mcp_client_env_example tests/integration/.test_mcp_client_env
  1. Edit the configuration file with your Hologres credentials:

HOLOGRES_HOST=your-hologres-instance.hologres.aliyuncs.com
HOLOGRES_PORT=80
HOLOGRES_USER=your_username
HOLOGRES_PASSWORD=your_password
HOLOGRES_DATABASE=your_database
  1. Run the integration tests:

# Run all integration tests
uv run pytest tests/integration/ -v -m integration

# Run specific test class
uv run pytest tests/integration/test_mcp_integration.py::TestMCPTools -v

# Run all tests (unit + integration)
uv run pytest tests/ -v

Note: Integration tests will be skipped if the .test_mcp_client_env file is missing or contains incomplete configuration.

Code Quality

This project uses ruff for code linting and formatting.

# Install dev dependencies
uv sync --dev
uv pip install ruff

# Check code style
uv run ruff check .

# Check and auto-fix
uv run ruff check . --fix

# Format code
uv run ruff format .

# Format check only (no changes)
uv run ruff format . --check

Build & Publish

Build

This project uses hatchling as the build backend. Build artifacts will be generated in the dist/ directory.

# Using uv (recommended)
uv build

# Or using python build module
pip install build
python -m build

Publish to PyPI

# Install twine
pip install twine

# Upload to PyPI
twine upload dist/*

# Or upload to Test PyPI first for verification
twine upload --repository testpypi dist/*

Release Workflow

# 1. Update version in pyproject.toml
# 2. Clean old build artifacts
rm -rf dist/

# 3. Build
uv build

# 4. Publish
twine upload dist/*

# 5. Tag the release
git tag -a v1.0.3 -m "Release v1.0.3"
git push origin v1.0.3

Update CLI Feature

# Use FastMCP framework to generate CLI code and Skill
uv run fastmcp generate-cli hologres-mcp-server hologres_mcp_cli/hologres_mcp_cli.py -f

Available Tools

12 tools
call_hg_procedureC

Call a stored procedure in Hologres database.

ParametersJSON Schema
NameRequiredDescriptionDefault
procedure_nameYesThe name of the stored procedure to call in Hologres database
argumentsNoThe arguments to pass to the stored procedure in Hologres database

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool calls a stored procedure but doesn't disclose behavioral traits like whether it's read-only or destructive, what permissions are required, how errors are handled, or what the typical response format is. For a database operation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the core purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of calling stored procedures in a database, the lack of annotations, and no output schema, the description is incomplete. It doesn't address what the tool returns, how to handle results, error conditions, or security implications. For a tool that could perform various database operations, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters (procedure_name and arguments). The description adds no additional meaning beyond what's in the schema, such as examples of procedure names, argument formatting, or special considerations. The baseline of 3 is appropriate when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Call') and target resource ('a stored procedure in Hologres database'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its siblings like 'execute_hg_ddl_sql' or 'execute_hg_dml_sql', which might also interact with stored procedures or similar database operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. Given the sibling tools include various SQL execution and database operation tools, there's no indication of whether this is for specific stored procedure calls, how it differs from general SQL execution, or any prerequisites for its use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_hg_maxcompute_foreign_tableB

Create a MaxCompute foreign table in Hologres database to accelerate queries on MaxCompute data.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxcompute_projectYesThe MaxCompute project name (required)
maxcompute_schemaNoThe MaxCompute schema name (optional, default: 'default')default
maxcompute_tablesYesThe MaxCompute table names (required)
local_schemaNoThe local schema name in Hologres (optional, default: 'public')public

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions the outcome ('accelerate queries') but doesn't cover critical aspects like required permissions, whether this creates a persistent or temporary resource, error conditions, or performance characteristics. For a creation tool with zero annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that immediately conveys the core purpose without unnecessary words. It's front-loaded with the main action and benefit, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, 100% schema coverage, but no annotations or output schema, the description provides basic purpose but lacks completeness. It doesn't address mutation implications, return values, or error handling. The agent understands what the tool does but not how it behaves or what to expect from its execution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing complete parameter documentation. The description adds no additional parameter semantics beyond what's in the schema. It doesn't explain relationships between parameters or provide examples. The baseline score of 3 reflects adequate but not enhanced parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a MaxCompute foreign table'), the resource ('in Hologres database'), and the purpose ('to accelerate queries on MaxCompute data'). It distinguishes itself from sibling tools like 'execute_hg_ddl_sql' by focusing on a specialized operation rather than general SQL execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, performance implications, or compare it to similar tools like 'execute_hg_ddl_sql' which might also create tables. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_hg_ddl_sqlA

Execute (CREATE, ALTER, DROP) SQL statements to CREATE, ALTER, or DROP tables, views, procedures, GUCs etc. in Hologres databse.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe DDL SQL query to execute in Hologres database

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates this is for executing DDL statements (implying schema modifications), it lacks critical details such as required permissions, whether operations are reversible, potential side effects on dependent objects, or error handling. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key information ('Execute (CREATE, ALTER, DROP) SQL statements') and specifies the resource scope. There is no wasted verbiage, and every word contributes to understanding the tool's purpose and usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a DDL execution tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., permissions, side effects), return values, or error handling. While it covers the basic purpose, it does not provide enough context for safe and effective use in a production environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'query' documented as 'The DDL SQL query to execute in Hologres database'. The description adds minimal value beyond the schema by specifying the types of SQL statements (CREATE, ALTER, DROP) but does not provide additional syntax, format, or constraints. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Execute SQL statements') and the specific resource types affected ('tables, views, procedures, GUCs etc. in Hologres database'), with explicit verb+resource pairing. It distinguishes from siblings like execute_hg_dml_sql or execute_hg_select_sql by specifying DDL operations (CREATE, ALTER, DROP) rather than DML or SELECT queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for executing DDL SQL statements (CREATE, ALTER, DROP) in Hologres. It implies alternatives by specifying DDL operations, distinguishing it from siblings like execute_hg_dml_sql or execute_hg_select_sql. However, it does not explicitly state when NOT to use it or name specific alternatives, keeping it at a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_hg_dml_sqlC

Execute (INSERT, UPDATE, DELETE) SQL to insert, update, and delete data in Hologres databse.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe DML SQL query to execute in Hologres database

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool executes DML SQL, implying data mutation, but lacks critical details such as required permissions, whether changes are reversible, potential side effects, or error handling. This is a significant gap for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads key information ('Execute (INSERT, UPDATE, DELETE) SQL'). It avoids redundancy, though it could be slightly more structured by separating purpose from context. Overall, it earns its place without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a DML execution tool with no annotations and no output schema, the description is incomplete. It fails to address behavioral aspects like safety, permissions, or response format, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'query' parameter documented as 'The DML SQL query to execute in Hologres database'. The description adds no additional meaning beyond this, such as syntax examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Execute') and resource ('SQL to insert, update, and delete data in Hologres database'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like execute_hg_ddl_sql or execute_hg_select_sql, which handle other SQL types, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for DML operations (INSERT, UPDATE, DELETE) but provides no explicit guidance on when to use this tool versus alternatives like execute_hg_ddl_sql for DDL or execute_hg_select_sql for queries. There are no exclusions or prerequisites mentioned, leaving the agent to infer context from tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_hg_select_sqlC

Execute SELECT SQL to query data from Hologres database.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe (SELECT) SQL query to execute in Hologres database.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool executes SELECT SQL queries, implying read-only operations, but does not cover critical aspects such as authentication requirements, rate limits, error handling, or output format. For a database query tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Execute SELECT SQL to query data from Hologres database.' It is front-loaded with the core purpose, has no redundant information, and every word contributes to understanding the tool's function. This makes it highly concise and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of database querying, lack of annotations, and no output schema, the description is incomplete. It does not explain what the tool returns (e.g., result sets, error messages), performance implications, or security considerations. For a tool that interacts with a database, more context is needed to ensure safe and effective use by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'query' parameter documented as 'The (SELECT) SQL query to execute in Hologres database.' The description adds no additional parameter semantics beyond this, such as query syntax examples or constraints. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute SELECT SQL to query data from Hologres database.' It specifies the verb ('Execute SELECT SQL'), resource ('Hologres database'), and action ('query data'), which is precise. However, it does not explicitly distinguish this tool from its sibling 'execute_hg_select_sql_with_serverless', which likely serves a similar purpose but with different execution context, so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, constraints, or comparisons to sibling tools like 'execute_hg_select_sql_with_serverless' or 'execute_hg_dml_sql', leaving the agent without context for selection. This lack of usage instructions reduces its effectiveness in guiding tool invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_hg_select_sql_with_serverlessA

Use Serverless Computing resources to execute SELECT SQL to query data in Hologres database. When the error like "Total memory used by all existing queries exceeded memory limitation" occurs during execute_hg_select_sql execution, you can re-execute the SQL with the tool execute_hg_select_sql_with_serverless.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe (SELECT) SQL query to execute with serverless computing in Hologres database

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively explains the tool's purpose (executing SELECT queries with serverless resources) and its specific use case for handling memory limitation errors, which is valuable context. However, it doesn't mention other behavioral aspects like performance characteristics, authentication needs, or error handling beyond the memory issue.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured in two sentences: the first states the core purpose, and the second provides specific usage guidance. Every word earns its place with no redundancy or fluff, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (executing SQL queries with serverless resources), no annotations, and no output schema, the description does a good job covering the essential context: purpose, specific use case, and differentiation from siblings. However, it lacks details on return values, error handling beyond memory limits, or performance implications, leaving some gaps for a tool that interacts with a database.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single 'query' parameter thoroughly. The description adds minimal value beyond what's in the schema by mentioning it's for 'SELECT SQL' execution, but doesn't provide additional syntax, format, or constraint details. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('execute SELECT SQL to query data') and resource ('Hologres database') using 'Serverless Computing resources'. It explicitly distinguishes from sibling tool 'execute_hg_select_sql' by mentioning it as an alternative for memory limitation errors, making the purpose specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool versus alternatives: 'When the error like "Total memory used by all existing queries exceeded memory limitation" occurs during execute_hg_select_sql execution, you can re-execute the SQL with this tool.' This clearly defines the specific scenario and names the alternative tool, offering complete usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gather_hg_table_statisticsC

Execute the ANALYZE TABLE command to have Hologres collect table statistics, enabling QO to generate better query plans

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaYesSchema name in Hologres database
tableYesTable name in Hologres database

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the command execution and purpose but lacks critical details: it doesn't specify if this is a read-only or destructive operation (ANALYZE TABLE can be resource-intensive), required permissions, execution time, or impact on database performance. This leaves significant gaps for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key action and purpose without unnecessary details. Every word contributes to understanding the tool's function, making it appropriately sized and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a database statistics tool with no annotations and no output schema, the description is incomplete. It explains what the tool does but omits behavioral aspects (e.g., execution characteristics, side effects) and output details. For a tool that likely affects query performance, more context on usage and results is needed for effective agent operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (schema and table) well-documented in the input schema. The description adds no additional parameter semantics beyond implying these are used for the ANALYZE TABLE command. This meets the baseline score of 3 when schema coverage is high, as the schema adequately explains the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Execute the ANALYZE TABLE command') and the resource ('Hologres collect table statistics'), with a specific purpose ('enabling QO to generate better query plans'). It distinguishes from siblings like list_hg_tables_in_a_schema or show_hg_table_ddl by focusing on statistics collection rather than listing or showing DDL. However, it doesn't explicitly differentiate from execute_hg_ddl_sql, which could potentially run similar commands.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., after data changes), exclusions (e.g., not for real-time tables), or compare to siblings like execute_hg_ddl_sql for similar SQL execution. Usage is implied through the purpose but lacks explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hg_execution_planC

Get actual execution plan with runtime statistics for a SQL query in Hologres database

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe SQL query to analyze in Hologres database

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'actual execution plan with runtime statistics', implying it may execute the query to gather runtime data, but does not specify if this is read-only, has side effects, requires permissions, or details on rate limits or output format. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of SQL execution analysis and the lack of annotations and output schema, the description is incomplete. It does not explain what the output includes (e.g., plan details, statistics format), potential impacts (e.g., if query execution occurs), or how it differs from similar tools, making it inadequate for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'query' clearly documented. The description adds no additional semantic details beyond what the schema provides, such as query format constraints or examples. Thus, it meets the baseline score of 3, as the schema adequately covers parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('actual execution plan with runtime statistics for a SQL query in Hologres database'), making the purpose specific and understandable. However, it does not explicitly differentiate from its sibling 'get_hg_query_plan', which might be a similar tool, leaving some ambiguity in distinguishing between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as 'get_hg_query_plan' or other execution tools like 'execute_hg_select_sql'. There are no explicit instructions on prerequisites, context, or exclusions, leaving usage decisions unclear for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hg_query_planC

Get query plan for a SQL query in Hologres database

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe SQL query to analyze in Hologres database

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s] query plan', implying a read-only operation, but doesn't clarify if it requires specific permissions, whether it's safe for production use, what the output format is, or any rate limits. This leaves significant gaps for an agent to understand how to invoke it effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of database query analysis tools and the lack of annotations and output schema, the description is incomplete. It doesn't explain what a 'query plan' entails, how the result is structured, or any behavioral traits like error handling, making it inadequate for an agent to use confidently without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'query' documented as 'The SQL query to analyze in Hologres database'. The description adds no additional semantic details beyond this, such as query syntax requirements or examples, so it meets the baseline for high schema coverage without extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'query plan for a SQL query in Hologres database', making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_hg_execution_plan', which might cause confusion about the distinction between a query plan and an execution plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'execute_hg_select_sql' and 'get_hg_execution_plan', there's no indication of whether this is for analysis, debugging, or optimization, or any prerequisites for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hg_schemasA

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the exclusion behavior ('excluding system schemas'), which is valuable context beyond basic listing. However, it doesn't mention pagination, rate limits, authentication requirements, or return format details that would be helpful for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('List all schemas') and immediately adds qualifying information ('in the current Hologres database, excluding system schemas'). Every word serves a clear purpose with zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with no annotations and no output schema, the description provides adequate basic context about what it does and what it excludes. However, it lacks details about return format, potential limitations, or how results are structured, which would be valuable for an agent invoking this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100% (empty schema). The description appropriately doesn't discuss parameters since none exist, maintaining focus on the tool's purpose. This meets the baseline expectation for parameterless tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List all schemas') and resource ('in the current Hologres database'), with explicit scope clarification ('excluding system schemas'). It distinguishes from sibling tools like 'list_hg_tables_in_a_schema' by focusing on schemas rather than tables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('current Hologres database') and provides exclusion guidance ('excluding system schemas'), but doesn't explicitly state when to use this tool versus alternatives like executing SQL queries directly. No misleading guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hg_tables_in_a_schemaA

List all tables in a specific schema in the current Hologres database, including their types (table, view, foreign table, partitioned table).

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaYesSchema name to list tables from in Hologres database

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the action and output format (table types), but does not disclose behavioral traits such as permissions required, rate limits, pagination, error handling, or whether it's read-only. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('List all tables in a specific schema') and adds necessary detail ('including their types'). There is no wasted verbiage, and it directly communicates the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and output format, but lacks details on behavioral aspects like permissions or error handling. Without annotations or output schema, more context on what the tool returns would be helpful for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'schema' well-described in the schema. The description adds no additional parameter semantics beyond implying the schema is for listing tables, which aligns with the schema's description. Baseline 3 is appropriate as the schema handles the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List all tables') and resource ('in a specific schema in the current Hologres database'), specifying the scope and what information is included ('including their types'). It distinguishes from siblings like 'list_hg_schemas' (which lists schemas, not tables) and 'show_hg_table_ddl' (which shows DDL for a specific table).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by specifying 'in a specific schema' and 'current Hologres database', but does not explicitly state when to use this tool versus alternatives like executing SQL queries directly. It lacks explicit exclusions or named alternatives, though the context suggests it's for listing tables rather than other operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_hg_table_ddlC

Show DDL script for a table, view, or foreign table in Hologres database.

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaYesSchema name in Hologres database
tableYesTable name in Hologres database

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool shows DDL scripts but doesn't describe what the output looks like (e.g., SQL text format), whether it's read-only, if it requires specific permissions, or any side effects. This leaves significant gaps in understanding the tool's behavior beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words or fluff. It is front-loaded and appropriately sized for a simple tool, earning a high score for conciseness and structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is incomplete. It lacks details on output format, behavioral traits, and usage context, which are essential for an agent to effectively invoke this tool. Without annotations or output schema, the description should provide more comprehensive guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both required parameters ('schema' and 'table') with their meanings. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline score of 3 for adequate but not enhanced parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Show DDL script') and target resource ('table, view, or foreign table in Hologres database'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from siblings like 'execute_hg_ddl_sql' or 'get_hg_query_plan', which might also involve DDL or metadata operations, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for usage, or compare it to sibling tools such as 'list_hg_tables_in_a_schema' for discovery or 'execute_hg_ddl_sql' for execution, leaving the agent without explicit usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have distinct purposes, such as executing different SQL types or listing schemas/tables, but there is some overlap between get_hg_execution_plan and get_hg_query_plan, which could cause confusion as both relate to query plans. The descriptions clarify the difference (runtime statistics vs. query plan), but the similarity in naming and function might lead to misselection in some contexts.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with the prefix 'hg_' for Hologres, such as execute_hg_ddl_sql and list_hg_schemas. The naming is uniform across all tools, using snake_case throughout, which makes the set predictable and easy to understand.

Tool Count5/5

With 12 tools, the server is well-scoped for a database management system, covering key operations like SQL execution, procedure calls, table management, and query analysis. Each tool serves a specific function without redundancy, making the count appropriate for the domain.

Completeness4/5

The toolset provides comprehensive coverage for Hologres database operations, including CRUD-like SQL execution, schema/table listing, and performance analysis. A minor gap is the lack of tools for user or permission management, but core workflows for data querying and administration are well-covered, allowing agents to handle most tasks effectively.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A universal interface that enables AI Agents to seamlessly communicate with Adb MySQL databases, allowing them to retrieve database metadata and execute SQL operations.
    3
    32
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that enables AI agents to interact with Alibaba Cloud PolarDB-X databases through SQL queries, database inspection, and schema exploration.
    19
    4
    Apache 2.0
  • F
    license
    Not graded
    quality
    F
    maintenance
    Enables AI agents to connect, query, and analyze Highgo Database using SQL execution, schema management, and metadata queries.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Serves as a universal interface between AI Agents and AnalyticDB PostgreSQL databases, enabling metadata retrieval and SQL execution, with additional capabilities for knowledge graph and LLM memory management.
    16
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aliyun/alibabacloud-hologres-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server