plugins/sap-hana-cli/skills/sap-hana-cli/SKILL.md
Assists with SAP HANA Developer CLI (hana-cli) for database development and administration. Use when: installing hana-cli, connecting to SAP HANA databases, inspecting database objects (tables, views, procedures, functions), managing HDI containers, executing SQL queries, converting metadata to CDS/EDMX/OpenAPI formats, managing SAP HANA Cloud instances, working with BTP CLI integration, or troubleshooting hana-cli commands. Covers: 91 commands, 17+ output formats, HDI container management, cloud operations.
npx skillsauth add secondsky/sap-skills sap-hana-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A developer-centric command-line interface for SAP HANA database development, particularly useful in non-SAP tooling environments like VS Code.
Repository: https://github.com/SAP-samples/hana-developer-cli-tool-example npm Package: https://www.npmjs.com/package/hana-cli Current Version: 3.202405.1 (April 2024) Node.js Requirement: ≥20.19.0
# Install globally via npm (recommended)
npm install -g hana-cli
# Verify installation
hana-cli version
# Interactive connection setup
hana-cli connect
# Or specify connection directly
hana-cli connect -n "hostname:port" -u DBUSER -p PASSWORD --save
# Using service key (HANA Cloud)
hana-cli connectViaServiceKey
The hana-mcp-server integration enables natural language database operations through Claude's Model Context Protocol. Use conversational queries alongside traditional CLI commands for a complete development workflow.
Required configuration (add to ~/.zshrc, ~/.bashrc, or project .env):
export HANA_HOST="your-hana-host.hanacloud.ondemand.com"
export HANA_PORT="443"
export HANA_USER="DBADMIN"
export HANA_PASSWORD="your-password"
export HANA_ENCRYPT="true" # Optional, defaults to true
export HANA_DATABASE="" # Optional, for MDC tenant
export HANA_CONNECTION_TYPE="single-container" # Optional
| Scenario | Recommended Tool | Why | |----------|------------------|-----| | Exploratory queries, ad-hoc analysis | MCP | Natural language, no syntax needed | | Automation scripts, CI/CD pipelines | CLI | Scriptable, consistent output | | Learning database structure | MCP | Conversational discovery | | Generating CDS/EDMX/OpenAPI output | CLI | Supports 17+ formats | | Complex multi-step workflows | CLI | Fine-grained control | | Quick data sampling and inspection | MCP | Faster for one-off queries |
The hana-mcp-server provides these MCP tools:
list_schemas: Enumerate all schemaslist_tables: Show tables in a schemadescribe_table: Get table structure and metadataquery: Execute SQL queries from natural languagesample_data: Retrieve sample rowssystem_info: Database status and performance# 1. Use MCP to explore (natural language)
"Show me all tables in the PRODUCTS schema"
# 2. Use MCP to understand structure
"Describe the PRODUCTS.INVENTORY table"
# 3. Use CLI for format conversion (precise output)
hana-cli inspectTable -t INVENTORY -s PRODUCTS -o cds
# 4. Use CLI for HDI operations
hana-cli createContainer -c MY_CONTAINER
| Command | Aliases | Purpose |
|---------|---------|---------|
| inspectTable | it, table | Inspect table structure |
| inspectView | - | Inspect view definition |
| inspectProcedure | - | Inspect stored procedure |
| inspectFunction | - | Inspect function definition |
| tables | - | List all tables in schema |
| views | - | List all views in schema |
| procedures | - | List stored procedures |
| functions | - | List functions |
| Command | Aliases | Purpose |
|---------|---------|---------|
| querySimple | qs | Execute SQL query |
| callProcedure | cp | Execute stored procedure |
| hdbsql | - | Direct SQL execution |
| Command | Aliases | Purpose |
|---------|---------|---------|
| containers | cont | List HDI containers |
| createContainer | - | Create new container |
| dropContainer | - | Remove container |
| activateHDI | - | Enable HDI service |
| adminHDI | - | Administer HDI privileges |
| Command | Aliases | Purpose |
|---------|---------|---------|
| hanaCloudInstances | - | List HANA Cloud instances |
| hanaCloudStart | - | Start cloud instance |
| hanaCloudStop | - | Stop cloud instance |
| btp | - | Configure BTP CLI |
| btpInfo | - | Display BTP target info |
The --output / -o option supports 17+ formats:
| Format | Use Case |
|--------|----------|
| tbl | Human-readable table (default) |
| json | JSON data |
| yaml | YAML format |
| csv | CSV export |
| excel | Excel file |
| cds | CAP CDS definitions |
| hdbcds | HANA CDS format |
| hdbtable | HDB Table definitions |
| sql | SQL DDL statements |
| edmx | OData EDMX metadata |
| openapi | OpenAPI/Swagger spec |
| graphql | GraphQL schema |
Connection credentials are searched in priority order:
default-env-admin.json (with --admin flag).cdsrc-private.json (via cds bind).env file with VCAP_SERVICES--conn parameterdefault-env.json in current/parent directories~/.hana-cli/default.jsonFor connection templates, see templates/default-env.json.
# Inspect table structure
hana-cli inspectTable -s MYSCHEMA -t MYTABLE
# Convert to CDS format
hana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds
# Convert all objects in schema to CDS
hana-cli massConvert -s MYSCHEMA
# Run query and export to JSON
hana-cli querySimple -q "SELECT * FROM MYTABLE" -o json
# Export to Excel file
hana-cli querySimple -q "SELECT * FROM MYTABLE" -o excel -f ./output -n report
# List all containers
hana-cli containers
# Create new container
hana-cli createContainer -c MY_CONTAINER -g MY_GROUP
# Create container users
hana-cli createContainerUsers -c MY_CONTAINER
Many commands have browser-based UI alternatives (suffix UI):
tablesUI - Browse tables visuallycontainersUI - Manage containers in browsermassConvertUI - Visual mass conversionquerySimpleUI - Query builder interfacesystemInfoUI - System dashboardFor comprehensive documentation:
references/command-reference.mdreferences/connection-security.mdreferences/hdi-management.mdreferences/output-formats.mdreferences/cloud-operations.mdreferences/db-inspection.mdreferences/mass-operations.mdreferences/system-admin.mdreferences/web-ui.mdreferences/troubleshooting.mdreferences/development-environment.mdreferences/abap-programming.md# Check current connection status
hana-cli status
# Test with explicit credentials
hana-cli connect -n "host:443" -u USER -p PASS --encrypt true
# Use SSL trust store
hana-cli connect --trustStore /path/to/certificate.pem
# Diagnose privilege errors
hana-cli privilegeError
# View current user info
hana-cli inspectUser
references/command-reference.md - Complete command reference with all optionsreferences/abap-programming.md - ABAP-specific programming patternsreferences/development-environment.md - Development setup and environment guidancereferences/connection-security.md - Secure connection and credential handlingreferences/troubleshooting.md - Common errors and recovery stepstemplates/default-env.json - Local connection template for CAP-style bindingstemplates/cdsrc-private.json - CAP private configuration templateLast Updated: 2025-11-26 | Version: 1.1.0
tools
SAP HANA Machine Learning Python Client (hana-ml) development skill. Use when: Building ML solutions with SAP HANA's in-database machine learning using Python hana-ml library for PAL/APL algorithms, DataFrame operations, AutoML, model persistence, and visualization. Keywords: hana-ml, SAP HANA, machine learning, PAL, APL, predictive analytics, HANA DataFrame, ConnectionContext, classification, regression, clustering, time series, ARIMA, gradient boosting, AutoML, SHAP, model storage
development
Develops data processing pipelines, integrations, and machine learning scenarios in SAP Data Intelligence Cloud. Use when building graphs/pipelines with operators, integrating ABAP/S4HANA systems, creating replication flows, developing ML scenarios with JupyterLab, or using Data Transformation Language functions. Covers Gen1/Gen2 operators, subengines (Python, Node.js, C++), structured data operators, and repository objects.
tools
Develops SAP Fiori applications using SAP Fiori tools extensions for VS Code and SAP Business Application Studio. Use when: generating Fiori Elements or Freestyle SAPUI5 applications, configuring Page Editor for List Report or Object Page, working with annotations and Service Modeler, setting up deployment to ABAP or Cloud Foundry, creating adaptation projects, using Guided Development, previewing with mock data or live data, configuring SAP Fiori launchpad, or using AI-powered generation with Project Accelerator/Joule. Technologies: SAP Fiori Elements, SAPUI5, OData V2/V4, CAP, SAP BTP, ABAP, Cloud Foundry, fiori-mcp-server (MCP tools for AI-assisted generation).
tools
SAP Datasphere development skill with 3 specialized agents, 5 slash commands, and validation hooks. Use when building data warehouses on SAP BTP, creating analytic models, configuring data flows and replication flows, setting up connections, managing spaces and users, implementing data access controls, or using the datasphere CLI. Covers Data Builder, Business Builder, analytic models, 40+ connection types, real-time replication, task chains, content transport, and data marketplace.