Skip to main content
Glama
Iceberg MCP Server (via Impala)

Iceberg MCP Server (via Impala)

by odog96

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
USER_MAPNoOptional identity=cloudera_user pairs (comma-separated). When set, unlisted identities are rejected
IMPALA_HOSTYesImpala coordinator host
IMPALA_PORTNoImpala coordinator port (default 443)443
IMPALA_USERYesMachine user that authenticates (and is allowed to impersonate via authorized_proxy_user_config)
ENTRA_ISSUERNoOptional override for Entra issuer (defaults to v2.0 issuer for tenant)
MCP_MAX_ROWSNoLargest result returned to the model (default 1000 rows)
ALLOWED_USERSNoOptional comma-separated allowlist of Cloudera usernames
IMPALA_KEYTABNoKerberos only: keytab file of the machine user
MCP_TEST_USERNoTest deployments only: skip identity checks and run every call as this user
MCP_TRANSPORTNoTransport protocol: stdio (default), http, or sse
ENTRA_AUDIENCENoEntra audience (Application ID URI)
ENTRA_JWKS_URINoOptional override for Entra JWKS URI (defaults to v2.0 keys for tenant)
IMPALA_CA_CERTNoCertificate authority file that issued Impala's certificate
ENTRA_TENANT_IDNoEntra tenant ID for token validation
IMPALA_DATABASENoImpala database (default 'default')default
IMPALA_KRB_HOSTNoKerberos only: host name in Impala's principal when it differs from IMPALA_HOST
IMPALA_PASSWORDNoMachine user workload password (plain text, base64 preferred)
MCP_QUEUE_WAIT_SNoHow long a call waits for a free slot before it is refused (default 15)
ENTRA_USER_CLAIMSNoClaims tried in order for identity (default 'preferred_username,upn,email')
MCP_ENABLE_WHOAMINoOptional. Set to 1 to add a whoami tool that shows non-secret details of the caller's verified token
IMPALA_VERIFY_CERTNoDefault true. false accepts any certificate and prints a warning
MCP_STATELESS_HTTPNoSet to true when several copies of the server run behind a load balancer
CAI_TRUSTED_CALLERSNoCAI mode: comma-separated CAI usernames allowed to act on behalf of other users
IMPALA_PASSWORD_B64NoMachine user workload password, base64-encoded (preferred)
MCP_QUERY_TIMEOUT_SNoTime limit per query (default 120)
ENTRA_REQUIRED_SCOPENoOptional required scope (e.g., access_as_user)
IMPALA_QUERY_OPTIONSNoImpala query options for every session, e.g., REQUEST_POOL=root.mcp,MEM_LIMIT=2g
MCP_MAX_RESULT_CHARSNoLargest result returned to the model (default 200000 characters)
MCP_SKIP_PIP_INSTALLNoSet to 1 when the site has no route to a package index
IMPALA_AUTH_MECHANISMNoLDAP (default) or GSSAPI (Kerberos)
IMPALA_SOCKET_TIMEOUT_SNoSeconds to wait for a coordinator that stops answering (default 60)
MCP_MAX_CONCURRENT_QUERIESNoQueries running at once in total (default 16)
MCP_MAX_CONCURRENT_PER_USERNoQueries running at once per user (default 4)
IMPALA_KERBEROS_SERVICE_NAMENoKerberos only: service name (default '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

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
execute_queryA

Execute a read-only SQL query on the Impala database and return the rows as JSON. The query runs as the authenticated end user. Large results are cut off: the answer is then a JSON object with "truncated": true and a note, and it is not the complete data. Prefer aggregates, filters and LIMIT over fetching raw rows.

get_schemaA

List the tables in the current Impala database with their columns (name and type). Call this first, and use the exact column names it returns.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools occupy clearly separate roles: `get_schema` for metadata discovery and `execute_query` for running read-only SQL. There is no realistic scenario where an agent would confuse one for the other, and the descriptions even specify the intended workflow order (schema first, then query).

Naming Consistency5/5

Both names follow a strict verb_noun snake_case pattern (`execute_query`, `get_schema`), using consistent verbs and clear object nouns. No mixing of conventions or casing styles.

Tool Count4/5

Two tools is on the thin side relative to the typical 3-15 range, but for a deliberately read-only SQL access layer both tools earn their place and form a complete minimal workflow. It is slightly under-provisioned but not wasteful or confusing.

Completeness4/5

The surface covers the core read-only lifecycle: inspect schema, then query. Minor conveniences (e.g. dedicated list-databases, table description, or EXPLAIN helper) are absent, but an agent can reach equivalent results by issuing SHOW/DESCRIBE through `execute_query`, so no hard dead ends exist. Write operations are intentionally excluded.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues