Skip to main content
Glama
josecarlos3390

SAP HANA MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HANA_SSLNoEnable SSL for the HANA connection. Default is true.true
HANA_HOSTYesHostname or IP of the SAP HANA database.
HANA_PORTNoSQL port for SAP HANA. Default is 443.443
HANA_USERYesDatabase user name.
LOG_LEVELNoLogging level: error, warn, info, or debug. Default is info.info
HANA_SCHEMANoDefault schema used when a tool omits schema_name.
HANA_ENCRYPTNoEnable encryption for the HANA connection. Default is true.true
HANA_PASSWORDYesDatabase password.
MCP_HTTP_HOSTNoBind host for HTTP transport. Default is 127.0.0.1.
MCP_HTTP_PORTNoPort for HTTP transport. Default is 3100.
HANA_ALLOW_DELETENoPermit DELETE and TRUNCATE via hana_execute_query. Default is false.false
HANA_ALLOW_INSERTNoPermit INSERT via hana_execute_query. Default is false.false
HANA_ALLOW_UPDATENoPermit UPDATE via hana_execute_query. Default is false.false
HANA_DATABASE_NAMENoTenant name for MDC (e.g., HQQ, HQP).
HANA_SEMANTICS_URLNoHTTPS URL to the same dictionary JSON format.
HANA_VALIDATE_CERTNoValidate the certificate. Default is true.true
ENABLE_FILE_LOGGINGNoEnable file logging. Default is false.false
HANA_MAX_CELL_CHARSNoMaximum characters per cell. Default is 200.200
HANA_SEMANTICS_PATHNoFile path to dictionary JSON for business/domain metadata.
MCP_HTTP_JWT_ISSUERNoIssuer / JWKS for JWT validation.
HANA_CONNECTION_TYPENoConnection type: auto, single_container, mdc_system, or mdc_tenant. Default is auto.auto
HANA_INSTANCE_NUMBERNoMDC instance ID (e.g., 10).
HANA_MAX_RESULT_COLSNoMaximum columns per row. Default is 50.50
HANA_MAX_RESULT_ROWSNoMaximum rows per query page. Default is 50.50
HANA_QUERY_TIMEOUT_MSNoStatement timeout in milliseconds. 0 disables. Default is 0.0
HANA_SEMANTICS_TTL_MSNoCache/reload behavior for semantics. Default is 60000.60000
MCP_HTTP_AUTH_ENABLEDNoSet to true to require JWT authentication on /mcp.false
MCP_HTTP_JWT_AUDIENCENoExpected audience for JWT.
ENABLE_CONSOLE_LOGGINGNoEnable console logging. Default is true.true
HANA_LIST_DEFAULT_LIMITNoDefault and max page size for list tools. Default is 200.200
MCP_HTTP_ALLOWED_ORIGINSNoAllowed origins for CORS.
HANA_CONNECTION_POOL_SIZENoHANA connection pool size (1-20). Default is 3.3
HANA_QUERY_DEFAULT_OFFSETNoDefault offset for queries. Default is 0.0
HANA_QUERY_LIMITS_ENABLEDNoEnable automatic row/column/cell caps. Default is false.false
HANA_QUERY_SNAPSHOT_TTL_MSNoSnapshot id lifetime for query paging. Default is 300000.300000
HANA_RESOURCE_LIST_MAX_ITEMSNoCap embedded names in hana:/// resource payloads. Default is 500.500
MCP_HTTP_JWT_SCOPES_REQUIREDNoRequired scopes for JWT authorization.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    }
  }
}
tools
{
  "listChanged": false
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
hana_show_configB

Show the HANA database configuration

hana_test_connectionB

Test connection to HANA database

hana_list_schemasA

List schemas in the HANA database with optional prefix filter and pagination (HANA_LIST_DEFAULT_LIMIT / offset).

hana_show_env_varsA

Show all HANA-related environment variables (for debugging)

hana_list_tablesA

List tables in a schema with optional name prefix and pagination (HANA_LIST_DEFAULT_LIMIT / offset).

hana_describe_tableB

Describe the structure of a specific table

hana_explain_tableA

Return column metadata merged with optional business semantics from HANA_SEMANTICS_PATH or HANA_SEMANTICS_URL (JSON keys: SCHEMA.TABLE or DB.SCHEMA.TABLE when catalog_database is set). Optional catalog_database reads SYS.* from another MDC database (e.g. HSP).

hana_list_indexesA

List all indexes for a specific table

hana_describe_indexB

Describe the structure of a specific index

hana_execute_queryA

Execute SQL against HANA. When HANA_QUERY_LIMITS_ENABLED=true, SELECT/WITH queries are wrapped with LIMIT/OFFSET (HANA_MAX_RESULT_ROWS) and row/column/cell caps apply; results are returned as-is otherwise. INSERT/UPDATE/DELETE are blocked by default; set HANA_ALLOW_INSERT, HANA_ALLOW_UPDATE, HANA_ALLOW_DELETE=true individually to permit each. Use limit, offset, maxRows, includeTotal as needed. If truncated, snapshotId may be returned for hana_query_next_page.

hana_query_next_pageA

Fetch the next page of a truncated SELECT using snapshotId from a previous hana_execute_query result (same SQL and parameters; TTL HANA_QUERY_SNAPSHOT_TTL_MS).

hana_list_constraintsA

List primary key, unique, check, and foreign key constraints for a table (SYS.CONSTRAINTS + SYS.REFERENTIAL_CONSTRAINTS).

hana_get_table_statsA

Return row count, table type, column-store flag, primary key flag, and disk size (requires MONITORING privilege for disk size) from SYS.TABLES and SYS.M_TABLE_SIZES.

hana_list_viewsA

List views in a schema from SYS.VIEWS. Supports prefix filter and pagination.

hana_describe_viewA

Return the view definition (SQL) and column metadata from SYS.VIEWS and SYS.VIEW_COLUMNS.

hana_list_synonymsA

List synonyms in a schema from SYS.SYNONYMS, showing target object schema, name, and type.

hana_list_proceduresA

List stored procedures and their parameter counts from SYS.PROCEDURES.

hana_describe_procedureA

Return parameter names, types (IN/OUT/INOUT), data types, and positions from SYS.PROCEDURE_PARAMETERS.

hana_search_columnsA

Find all columns matching a LIKE pattern across all tables (or within a schema). Uses SYS.TABLE_COLUMNS. Results capped at 1000.

hana_get_sample_dataA

Fetch the first N rows from a table using SELECT TOP. Result is shaped by the same row/column/cell caps as hana_execute_query.

hana_explain_planA

Run EXPLAIN PLAN for a SELECT/WITH query and return operator tree from EXPLAIN_PLAN_TABLE. Only SELECT/WITH are accepted.

hana_list_foreign_keysA

List referential constraints (foreign keys) showing column, referenced table/column, and delete rule from SYS.REFERENTIAL_CONSTRAINTS.

hana_list_privilegesA

List effective privileges for a user (or CURRENT_USER if omitted) from SYS.EFFECTIVE_PRIVILEGES. Requires CATALOG READ privilege or querying own privileges.

hana_get_ddlA

Retrieve the DDL (CREATE statement) for a TABLE, VIEW, PROCEDURE, FUNCTION, TRIGGER, or SEQUENCE from SYS.OBJECT_DEFINITION. Requires appropriate privileges.

hana_get_column_statsA

Retrieve column statistics (distinct count, null count, min/max) from SYS.COLUMN_STATISTICS (cached) or via live COUNT queries (live=true). With live=true a specific column_name is required.

hana_list_functionsA

List scalar and table functions from SYS.FUNCTIONS. Supports prefix filter and pagination.

hana_describe_functionA

Return parameter names, types, data types, and positions for a function from SYS.FUNCTION_PARAMETERS.

hana_list_calculation_viewsA

List calculation views from the _SYS_BIC schema (SAP BW/S4 analytical views). Supports prefix filter and pagination.

hana_get_session_infoA

Return CURRENT_USER, CURRENT_SCHEMA, connected database name, SYSTEM_ID, and HANA version from DUMMY and M_DATABASE.

hana_search_tablesA

Find all tables matching a LIKE pattern across all schemas (or within a specific schema). Uses SYS.TABLES. Results capped at 2000.

hana_get_expensive_queriesA

Return the most expensive statements from M_EXPENSIVE_STATEMENTS ordered by duration. Requires MONITORING privilege.

hana_get_dependenciesA

Show what an object depends on or what depends on it, from SYS.OBJECT_DEPENDENCIES. Capped at 200 rows.

hana_get_partition_infoA

Return partition metadata (type, level, record count, loaded state) from SYS.TABLE_PARTITIONS. Returns empty result for unpartitioned tables.

hana_list_sequencesA

List sequences from SYS.SEQUENCES, showing start, min, max, increment, cycle, and cache settings.

hana_save_knowledge_caseA

Save a resolved incident or finding to the local Markdown knowledge base (requires active knowledge-base license feature).

hana_read_kb_caseA

Read the full Markdown content of a local or remote knowledge base case by filename. Available even in offline mode when the license is expired.

hana_search_knowledge_baseA

Search the local Markdown knowledge base for previous cases (requires knowledge-base license feature).

hana_generate_kb_indexA

Regenerate the docs/kb/index.md file from the saved cases (requires knowledge-base license feature).

hana_show_license_infoA

Show current license status, hardware ID, plan and expiration.

hana_check_for_updatesA

Check if a newer version of the HANA MCP client is available from the vendor license server.

hana_apply_updateA

Download and install the latest HANA MCP client update. Preserves local KB cases and configuration.

hana_health_checkA

Run a read-only diagnostic snapshot against the HANA database: database info, services, memory metrics, top tables by size and blocked-transaction count.

hana_memory_monitorB

Take a memory snapshot of the HANA indexserver and compare usage against allocation limits. Optionally append the result to a CSV history file.

hana_realtime_performanceA

Live performance indicators: open transactions, top SQL plan cache queries by total time and frequency, long connections, column-store delta sizes and blocked transactions.

Prompts

Interactive templates invoked by user choice

NameDescription
hana_query_builderBuild a SQL query for HANA database
hana_schema_explorerExplore HANA database schemas and tables
hana_connection_testTest HANA database connection and show configuration

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/josecarlos3390/sap-hana-mcp-server'

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