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. |
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 |
|---|---|
| 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