Back to skills
SKILL.md
Sap Hana Cli
DSecurityAssists 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, c...
- 459 stars
- 0 votes
- 0 copies
- 1 view
- Added February 7, 2026
Works with
Security analysis
46/100- Modifies startup scripts or system services for persistence
- Modifies startup scripts or system services for persistence
- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 17 files and shows the line behind each finding
npx -y skills add secondsky/sap-skills --skill sap-hana-cli --agent claude-codeAre you the author of Sap Hana Cli?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/secondsky-sap-hana-cli)---
name: sap-hana-cli
description: |
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.
license: GPL-3.0
metadata:
version: "1.1.0"
last_verified: "2025-11-26"
---
# SAP HANA Developer CLI (hana-cli)
## Related Skills
- **sap-cap-capire**: Use for CAP database development, HDI container management, and CDS syntax comparison
- **sap-btp-cloud-platform**: Use for HANA Cloud operations, BTP integration, and cloud instance management
- **sap-abap-cds**: Use for comparing CDS syntax between CAP and ABAP or understanding HANA CDS features
- **sap-datasphere**: Use when working with SAP Datasphere integration or data warehousing scenarios
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](https://github.com/SAP-samples/hana-developer-cli-tool-example)
**npm Package**: [https://www.npmjs.com/package/hana-cli](https://www.npmjs.com/package/hana-cli)
**Current Version**: 3.202405.1 (April 2024)
**Node.js Requirement**: ≥20.19.0
---
## Table of Contents
- [Quick Start](#quick-start)
- [Core Command Categories](#core-command-categories)
- [Output Formats](#output-formats)
- [Connection Configuration](#connection-configuration)
- [Common Workflows](#common-workflows)
- [Bundled Resources](#bundled-resources)
## Quick Start
### Installation
```bash
# Install globally via npm (recommended)
npm install -g hana-cli
# Verify installation
hana-cli version
```
### First Connection
```bash
# 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
```
---
## MCP Integration (AI-Driven Database Operations)
### Overview
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.
### Setup
#### 1. Environment Variables
Required configuration (add to ~/.zshrc, ~/.bashrc, or project .env):
```bash
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
```
#### 2. Connection Types
- **single-container** (default): Standard HANA databases
- **mdc-system**: Multi-tenant system database
- **mdc-tenant**: Specific tenant in multi-tenant environment
### When to Use: CLI vs MCP
| 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 |
### Example Natural Language Queries
#### Schema & Table Discovery
- "Show me all schemas in this HANA database"
- "List all tables in the SYSTEM schema"
- "What tables exist in the MY_APP schema?"
- "Show me all views in the PUBLIC schema"
#### Table Structure & Metadata
- "Describe the structure of the USERS table"
- "What columns does the ORDERS table have?"
- "Show me the data types for MY_TABLE"
- "What is the primary key of the CUSTOMERS table?"
#### Data Sampling & Inspection
- "Sample 5 rows from the PRODUCTS table"
- "Show me the first 10 records from SALES_DATA"
- "Get sample data from ORDER_ITEMS table"
- "Display a few rows from MY_TABLE"
#### Query Execution
- "How many rows are in the CUSTOMERS table?"
- "Show me distinct values in the STATUS column of ORDERS"
- "What is the maximum value in the PRICE column of PRODUCTS?"
- "Find all records in USERS where country is 'USA'"
#### System Performance & Monitoring
- "Check the HANA database status"
- "Show me system performance metrics"
- "What is the current database version?"
### MCP Tools Available
The hana-mcp-server provides these MCP tools:
- `list_schemas`: Enumerate all schemas
- `list_tables`: Show tables in a schema
- `describe_table`: Get table structure and metadata
- `query`: Execute SQL queries from natural language
- `sample_data`: Retrieve sample rows
- `system_info`: Database status and performance
### Example: MCP + CLI Workflow
```bash
# 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
```
---
## Core Command Categories
### Database Object Inspection
| 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 |
### Query Execution
| Command | Aliases | Purpose |
|---------|---------|---------|
| `querySimple` | `qs` | Execute SQL query |
| `callProcedure` | `cp` | Execute stored procedure |
| `hdbsql` | - | Direct SQL execution |
### HDI Container Management
| Command | Aliases | Purpose |
|---------|---------|---------|
| `containers` | `cont` | List HDI containers |
| `createContainer` | - | Create new container |
| `dropContainer` | - | Remove container |
| `activateHDI` | - | Enable HDI service |
| `adminHDI` | - | Administer HDI privileges |
### Cloud & BTP Operations
| 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 |
---
## Output Formats
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 Configuration
Connection credentials are searched in priority order:
1. `default-env-admin.json` (with `--admin` flag)
2. `.cdsrc-private.json` (via `cds bind`)
3. `.env` file with VCAP_SERVICES
4. File specified via `--conn` parameter
5. `default-env.json` in current/parent directories
6. `~/.hana-cli/default.json`
For connection templates, see `templates/default-env.json`.
---
## Common Workflows
### Inspect and Convert Table to CDS
```bash
# Inspect table structure
hana-cli inspectTable -s MYSCHEMA -t MYTABLE
# Convert to CDS format
hana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds
```
### Mass Convert Schema Objects
```bash
# Convert all objects in schema to CDS
hana-cli massConvert -s MYSCHEMA
```
### Execute Query with Export
```bash
# 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
```
### Manage HDI Containers
```bash
# 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
```
---
## UI Commands
Many commands have browser-based UI alternatives (suffix `UI`):
- `tablesUI` - Browse tables visually
- `containersUI` - Manage containers in browser
- `massConvertUI` - Visual mass conversion
- `querySimpleUI` - Query builder interface
- `systemInfoUI` - System dashboard
---
## Key Features
- **Multi-database support**: HANA, PostgreSQL, SQLite backends
- **Format conversion**: 17+ output formats including CDS, EDMX, OpenAPI
- **HDI management**: Full container lifecycle management
- **Cloud integration**: SAP BTP CLI and HANA Cloud support
- **Interactive prompts**: Missing parameters prompted automatically
- **Service key auth**: Secure cloud authentication
---
## Detailed References
For comprehensive documentation:
- **All 91 Commands**: See `references/command-reference.md`
- **Connection & Security**: See `references/connection-security.md`
- **HDI Management**: See `references/hdi-management.md`
- **Output Formats**: See `references/output-formats.md`
- **Cloud Operations**: See `references/cloud-operations.md`
- **Database Inspection**: See `references/db-inspection.md`
- **Mass Operations**: See `references/mass-operations.md`
- **System Administration**: See `references/system-admin.md`
- **Web UI Interface**: See `references/web-ui.md`
- **Troubleshooting Guide**: See `references/troubleshooting.md`
- **Development Environment**: See `references/development-environment.md`
- **ABAP Programming Patterns**: See `references/abap-programming.md`
---
## Troubleshooting
### Connection Issues
```bash
# 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
```
### Permission Errors
```bash
# Diagnose privilege errors
hana-cli privilegeError
# View current user info
hana-cli inspectUser
```
### Version Compatibility
- **Node.js**: Requires ≥20.19.0
- **@sap/cds**: Uses 9.4.4
- **@sap/cds-dk**: Requires ≥8.9 for cds bind
---
## Bundled Resources
### Reference Documentation
- `references/command-reference.md` - Complete command reference with all options
- `references/abap-programming.md` - ABAP-specific programming patterns
- `references/quick-start.md` - Quick start guide and examples
### Scripts
- `scripts/hana-setup.sh` - HANA development environment setup script
- `scripts/migration-helper.sh` - Migration helper script for existing projects
## Resources
- **GitHub**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)
- **Intro Video**: [https://youtu.be/dvVQfi9Qgog](https://youtu.be/dvVQfi9Qgog)
- **Cloud Shells Demo**: [https://youtu.be/L7QyVLvAIIQ](https://youtu.be/L7QyVLvAIIQ)
- **SAP HANA Cloud**: [https://help.sap.com/docs/hana-cloud](https://help.sap.com/docs/hana-cloud)
- **SAP CAP**: [https://cap.cloud.sap/docs/](https://cap.cloud.sap/docs/)
---
*Last Updated: 2025-11-26 | Version: 1.1.0*
Files in this skill
- .claude-plugin/plugin.json
- README.md
- SKILL.md
- references/abap-programming.md
- references/cloud-operations.md
- references/command-reference.md
- references/connection-security.md
- references/db-inspection.md
- references/development-environment.md
- references/hdi-management.md
- references/mass-operations.md
- references/output-formats.md
- references/system-admin.md
- references/troubleshooting.md
- references/web-ui.md
- templates/cdsrc-private.json
- templates/default-env.json
Attribution
Comments
Loading comments…