SAP HANA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HANA_SSL | No | Enable SSL for the HANA connection. Default is true. | true |
| HANA_HOST | Yes | Hostname or IP of the SAP HANA database. | |
| HANA_PORT | No | SQL port for SAP HANA. Default is 443. | 443 |
| HANA_USER | Yes | Database user name. | |
| LOG_LEVEL | No | Logging level: error, warn, info, or debug. Default is info. | info |
| HANA_SCHEMA | No | Default schema used when a tool omits schema_name. | |
| HANA_ENCRYPT | No | Enable encryption for the HANA connection. Default is true. | true |
| HANA_PASSWORD | Yes | Database password. | |
| MCP_HTTP_HOST | No | Bind host for HTTP transport. Default is 127.0.0.1. | |
| MCP_HTTP_PORT | No | Port for HTTP transport. Default is 3100. | |
| HANA_ALLOW_DELETE | No | Permit DELETE and TRUNCATE via hana_execute_query. Default is false. | false |
| HANA_ALLOW_INSERT | No | Permit INSERT via hana_execute_query. Default is false. | false |
| HANA_ALLOW_UPDATE | No | Permit UPDATE via hana_execute_query. Default is false. | false |
| HANA_DATABASE_NAME | No | Tenant name for MDC (e.g., HQQ, HQP). | |
| HANA_SEMANTICS_URL | No | HTTPS URL to the same dictionary JSON format. | |
| HANA_VALIDATE_CERT | No | Validate the certificate. Default is true. | true |
| ENABLE_FILE_LOGGING | No | Enable file logging. Default is false. | false |
| HANA_MAX_CELL_CHARS | No | Maximum characters per cell. Default is 200. | 200 |
| HANA_SEMANTICS_PATH | No | File path to dictionary JSON for business/domain metadata. | |
| MCP_HTTP_JWT_ISSUER | No | Issuer / JWKS for JWT validation. | |
| HANA_CONNECTION_TYPE | No | Connection type: auto, single_container, mdc_system, or mdc_tenant. Default is auto. | auto |
| HANA_INSTANCE_NUMBER | No | MDC instance ID (e.g., 10). | |
| HANA_MAX_RESULT_COLS | No | Maximum columns per row. Default is 50. | 50 |
| HANA_MAX_RESULT_ROWS | No | Maximum rows per query page. Default is 50. | 50 |
| HANA_QUERY_TIMEOUT_MS | No | Statement timeout in milliseconds. 0 disables. Default is 0. | 0 |
| HANA_SEMANTICS_TTL_MS | No | Cache/reload behavior for semantics. Default is 60000. | 60000 |
| MCP_HTTP_AUTH_ENABLED | No | Set to true to require JWT authentication on /mcp. | false |
| MCP_HTTP_JWT_AUDIENCE | No | Expected audience for JWT. | |
| ENABLE_CONSOLE_LOGGING | No | Enable console logging. Default is true. | true |
| HANA_LIST_DEFAULT_LIMIT | No | Default and max page size for list tools. Default is 200. | 200 |
| MCP_HTTP_ALLOWED_ORIGINS | No | Allowed origins for CORS. | |
| HANA_CONNECTION_POOL_SIZE | No | HANA connection pool size (1-20). Default is 3. | 3 |
| HANA_QUERY_DEFAULT_OFFSET | No | Default offset for queries. Default is 0. | 0 |
| HANA_QUERY_LIMITS_ENABLED | No | Enable automatic row/column/cell caps. Default is false. | false |
| HANA_QUERY_SNAPSHOT_TTL_MS | No | Snapshot id lifetime for query paging. Default is 300000. | 300000 |
| HANA_RESOURCE_LIST_MAX_ITEMS | No | Cap embedded names in hana:/// resource payloads. Default is 500. | 500 |
| MCP_HTTP_JWT_SCOPES_REQUIRED | No | Required scopes for JWT authorization. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| hana_query_builder | Build a SQL query for HANA database |
| hana_schema_explorer | Explore HANA database schemas and tables |
| hana_connection_test | Test HANA database connection and show configuration |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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