impala-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | HTTP bind address | localhost |
| MCP_PORT | No | HTTP bind port | 3000 |
| LOG_LEVEL | No | Logging level | INFO |
| IMPALA_HOST | No | Impala coordinator (impalad) host | localhost |
| IMPALA_PORT | No | HiveServer2 port | 21050 |
| IMPALA_USER | No | Credentials (PLAIN / LDAP) | |
| LOG_FILE_PATH | No | Logging (stderr for stdio) | |
| MCP_TRANSPORT | No | stdio or http | stdio |
| IMPALA_CA_CERT | No | TLS settings | |
| IMPALA_USE_SSL | No | TLS settings | false |
| ALLOW_WRITE_SQL | No | Dangerous: allow DDL/DML through query | false |
| IMPALA_DATABASE | No | Default database context | default |
| IMPALA_PASSWORD | No | Credentials (PLAIN / LDAP) | |
| MAX_RESULT_ROWS | No | Hard row cap | 10000 |
| BLOCKED_KEYWORDS | No | Comma-separated override of DDL/DML keywords | |
| IMPALA_HTTP_PATH | No | HS2-over-HTTP (Knox) | |
| DEFAULT_RESULT_ROWS | No | Default cap for query | 1000 |
| IMPALA_QUERY_TIMEOUT | No | Server-side query timeout via SET QUERY_TIMEOUT_S | 300 |
| ENABLE_SECURITY_CHECK | No | Read-only guard master switch | true |
| IMPALA_AUTH_MECHANISM | No | Authentication mechanism: NOSASL / PLAIN / LDAP / GSSAPI | NOSASL |
| IMPALA_MAX_CONNECTIONS | No | Pool size | 10 |
| IMPALA_QUERY_LOG_TABLE | No | Source for slow-query tool | sys.impala_query_log |
| IMPALA_CONNECTION_TIMEOUT | No | Socket connect timeout (s) | 30 |
| IMPALA_MAX_CONNECTION_AGE | No | Recycle connections older than this (s) | 3600 |
| IMPALA_USE_HTTP_TRANSPORT | No | HS2-over-HTTP (Knox) | false |
| IMPALA_KERBEROS_SERVICE_NAME | No | For GSSAPI | impala |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| queryA | Execute a read-only SQL statement (SELECT / SHOW / DESCRIBE / EXPLAIN / WITH ... SELECT / bare SET) against Apache Impala and return columns+rows. DDL/DML is blocked unless the server runs with ALLOW_WRITE_SQL=true. |
| explain_queryA | Return the Impala execution plan (EXPLAIN) for a SELECT or WITH query. |
| get_session_optionsA | List current Impala session query options (SET). |
| get_db_listA | List all databases visible to the configured Impala user, optionally filtered by a SQL LIKE pattern. |
| get_db_table_listA | List tables and views of a database (SHOW TABLES IN db). Omit db_name to use the server default database; pattern filters with SQL LIKE. |
| get_table_schemaB | Describe a table: column names, data types, comments and partition columns (DESCRIBE table). |
| get_table_commentB | Return the table-level comment parsed from SHOW CREATE TABLE. |
| get_ddlA | Return the full CREATE TABLE statement (SHOW CREATE TABLE) including partitions, storage format and properties. |
| get_table_previewA | Preview the first rows of a table (SELECT * ... LIMIT n, n<=1000). |
| get_functionsA | List built-in and user-defined functions of a database (SHOW FUNCTIONS), optionally filtered by a LIKE pattern. |
| get_table_sizeB | Physical table statistics: row count, number of files and total bytes (SHOW TABLE STATS). Values are -1 until COMPUTE STATS has been run. |
| get_column_statsA | Column-level statistics: distinct values, nulls, max/avg size (SHOW COLUMN STATS). |
| get_partitionsA | List partitions with per-partition statistics (SHOW PARTITIONS). Only valid for partitioned tables. |
| get_db_metadata_summaryA | Summarize a database: table/view counts plus aggregated rows/files/bytes sampled over up to max_tables tables. |
| get_health_checkA | Check Impala connectivity: SELECT 1 round-trip latency and server version. |
| get_cluster_overviewA | Cluster snapshot: Impala version, current database, database list and impalad hosts (SHOW HOSTS). |
| get_slow_query_recordsA | Recent/slow queries from the Impala workload-management query log (sys.impala_query_log by default; needs Impala 4.2+ / CDP). Filter by time_range_hours or min_duration_ms. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| impala_query_data | Guide an agent through querying Impala data step by step. |
| impala_table_data_exploration | Structure-first exploration of one table. |
| impala_joint_analysis | Design an efficient multi-table analysis join. |
| impala_building_database | Help design an Impala database layout (DDL is executed out-of-band). |
| impala_building_table | Help design an Impala CREATE TABLE statement (read-only server). |
| impala_performance_optimization | Diagnose Impala query or table performance. |
| impala_slow_query_location | Find and analyze recent slow queries from the Impala query log. |
| impala_data_quality_check | Generate read-only data-quality probes for one table. |
| impala_report_generation | Build a business report from Impala data. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| databases | All databases visible to the configured user. |
| cluster | Impala version, hosts and database list. |
TDQS
Scored across 17 tools
Each tool targets a clearly distinct resource or action: query execution, plan explanation, session options, and a comprehensive set of metadata inspectors for databases, tables, schemas, DDL, stats, partitions, and cluster health. Even similar-sounding tools like get_table_schema, get_table_comment, and get_ddl are cleanly separated by their descriptions.
The vast majority of tools follow a consistent lower_snake_case get_* pattern with clear noun targets. The exceptions are the bare `query` tool and `explain_query`, which are still readable but deviate slightly from the dominant get_ prefix convention.
At 17 tools, the server is slightly above the typical 3–15 range, but the count is justified by the broad scope of Impala metadata and query functionality. Each tool addresses a distinct need, so the set does not feel bloated.
The tool set covers the full envelope of read-only Impala interaction: arbitrary queries, execution plans, session settings, database/table listing, schema inspection, DDL retrieval, data previews, functions, table and column statistics, partitions, cluster overview, and slow-query logs. There are no obvious dead ends or major missing operations for its intended read-only/metadata-analysis purpose.