模型上下文协议(MCP)服务器,用于无缝集成SAP HANA数据库与AI代理和开发工具。
npm install -g hana-mcp-server
更新你的Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"HANA 数据库": {
"command": "hana-mcp-server",
"env": {
"HANA_HOST": "your-hana-host.com",
"HANA_PORT": "443",
"HANA_USER": "your-username",
"HANA_PASSWORD": "your-password",
"HANA_SCHEMA": "your-schema",
"HANA_SSL": "true",
"HANA_ENCRYPT": "true",
"HANA_VALIDATE_CERT": "true",
"HANA_CONNECTION_TYPE": "auto",
"HANA_INSTANCE_NUMBER": "10",
"HANA_DATABASE_NAME": "HQQ",
"LOG_LEVEL": "info",
"ENABLE_FILE_LOGGING": "true",
"ENABLE_CONSOLE_LOGGING": "false"
}
}
}
}
关闭并重新打开Claude Desktop以加载配置。
询问Claude:"展示我HANA数据库中的可用模式"
为了更轻松地设置和管理,请使用HANA MCP UI:
npx hana-mcp-ui
这将打开一个Web界面,你可以:

| 参数 | 描述 | 示例 |
|---|---|---|
HANA_HOST | 数据库主机名或IP地址 | hana.company.com |
HANA_USER | 数据库用户名 | DBADMIN |
HANA_PASSWORD | 数据库密码 | your-secure-password |
| 参数 | 描述 | 默认值 | 选项 |
|---|---|---|---|
HANA_PORT | 数据库端口 | 443 | 任何有效端口号 |
HANA_SCHEMA | 默认模式名称 | - | 模式名称 |
HANA_CONNECTION_TYPE | 连接类型 | auto | auto, single_container, mdc_system, mdc_tenant |
HANA_INSTANCE_NUMBER | 实例号(MDC) | - | 实例号(例如,10) |
HANA_DATABASE_NAME | 数据库名称(MDC租户) | - | 数据库名称(例如,HQQ) |
HANA_SSL | 启用SSL连接 | true | true, false |
HANA_ENCRYPT | 启用加密 | true | true, false |
HANA_VALIDATE_CERT | 验证SSL证书 | true | true, false |
LOG_LEVEL | 日志级别 | info | error, warn, info, debug |
ENABLE_FILE_LOGGING | 启用文件日志 | true | true, false |
ENABLE_CONSOLE_LOGGING | 启用控制台日志 | false | true, false |
标准的单租户HANA数据库。
必需:HANA_HOST, HANA_USER, HANA_PASSWORD
可选:HANA_PORT, HANA_SCHEMA
{
"HANA_HOST": "hana.company.com",
"HANA_PORT": "443",
"HANA_USER": "DBADMIN",
"HANA_PASSWORD": "password",
"HANA_SCHEMA": "SYSTEM",
"HANA_CONNECTION_TYPE": "single_container"
}
多租户系统数据库(管理租户)。
必需:HANA_HOST, HANA_PORT, HANA_INSTANCE_NUMBER, HANA_USER, HANA_PASSWORD
可选:HANA_SCHEMA
{
"HANA_HOST": "192.168.1.100",
"HANA_PORT": "31013",
"HANA_INSTANCE_NUMBER": "10",
"HANA_USER": "SYSTEM",
"HANA_PASSWORD": "password",
"HANA_SCHEMA": "SYSTEM",
"HANA_CONNECTION_TYPE": "mdc_system"
}
多租户租户数据库(特定租户)。
必需:HANA_HOST, HANA_PORT, HANA_INSTANCE_NUMBER, HANA_DATABASE_NAME, HANA_USER, HANA_PASSWORD
可选:HANA_SCHEMA
{
"HANA_HOST": "192.168.1.100",
"HANA_PORT": "31013",
"HANA_INSTANCE_NUMBER": "10",
"HANA_DATABASE_NAME": "HQQ",
"HANA_USER": "DBADMIN",
"HANA_PASSWORD": "password",
"HANA_SCHEMA": "SYSTEM",
"HANA_CONNECTION_TYPE": "mdc_tenant"
}
当HANA_CONNECTION_TYPE设置为auto(默认)时,服务器会自动检测类型:
HANA_INSTANCE_NUMBER + HANA_DATABASE_NAME → MDC租户HANA_INSTANCE_NUMBER → MDC系统hana-mcp-server/
├── 📁 src/
│ ├── 🏗️ server/ # MCP协议及服务器管理
│ │ ├── index.js # 主服务器入口点
│ │ ├── mcp-handler.js # JSON-RPC 2.0实现
│ │ └── lifecycle-manager.js # 服务器生命周期管理
│ ├── 🛠️ tools/ # 工具实现
│ │ ├── index.js # 工具注册及发现
│ │ ├── config-tools.js # 配置管理
│ │ ├── schema-tools.js # 模式探索
│ │ ├── table-tools.js # 表操作
│ │ ├── index-tools.js # 索引管理
│ │ └── query-tools.js # 查询执行
│ ├── 🗄️ database/ # 数据库层
│ │ ├── hana-client.js # HANA客户端封装
│ │ ├── connection-manager.js # 连接管理
│ │ └── query-executor.js # 查询执行工具
│ ├── 🔧 utils/ # 共享工具
│ │ ├── logger.js # 结构化日志
│ │ ├── config.js # 配置管理
│ │ ├── validators.js # 输入验证
│ │ └── formatters.js # 响应格式化
│ └── 📋 constants/ # 常量及定义
│ ├── mcp-constants.js # MCP协议常量
│ └── tool-definitions.js # 工具模式
├── 🧪 tests/ # 测试框架
├── 📚 docs/ # 文档
├── 📦 package.json # 依赖项及脚本
└── 🚀 hana-mcp-server.js # 主入口点
一旦配置完成,你可以询问Claude:
HANA_VALIDATE_CERT=false或安装有效的证书export LOG_LEVEL="debug"
export ENABLE_CONSOLE_LOGGING="true"
hana-mcp-server
MIT许可证 - 详情见LICENSE文件。