Skip to main content
Glama
leonardows1

sap-b1-hana-mcp

by leonardows1

sap-b1-hana-mcp

MCP-сервер (Model Context Protocol) для запросов к SAP B1 HANA с помощью прямого SQL через официальный драйвер SAP (@sap/hana-client).

Без установки: запускается с помощью npx напрямую из этого репозитория GitHub. Нужно только задать переменные окружения.

Использование

1. Требования

  • Node.js 20+ (только на машине, где выполняется агент; ничего из MCP не устанавливается).

2. Регистрация в opencode (или другом MCP-клиенте)

Добавьте этот блок в свою конфигурацию opencode (например, ~/.config/opencode/opencode.json):

{
  "mcp": {
    "sap-b1-hana": {
      "type": "local",
      "command": ["npx", "-y", "github:leonardows1/sap-b1-hana-mcp"],
"environment": {
        "HANA_HOST": "192.168.1.100",
        "HANA_PORT": "30015",
        "HANA_USER": "USUARIO_HANA",
        "HANA_PASSWORD": "TU_CONTRASEÑA",
        "HANA_DATABASE": "MI_TENANT",
        "HANA_SCHEMA": "MI_EMPRESA",
        "HANA_READONLY": "true"
      },
      "enabled": true
    }
  }
}

Примечание: первый запуск npx загружает и устанавливает пакет и может занять более 5 секунд. Если MCP-клиент сообщает о тайм-ауте при запуске, увеличьте "timeout": 60000 в этом блоке.

3. Переменные окружения

Переменная

Обязательная

Описание

Пример

HANA_HOST

Да

Хост сервера HANA

192.168.1.100

HANA_PORT

Нет (по умолчанию 30015)

Порт HANA (тенант)

30013

HANA_USER

Да

Пользователь HANA

USUARIO_HANA

HANA_PASSWORD

Да

Пароль

...

HANA_DATABASE

Нет

Тенант HANA (MDC)

MI_TENANT

HANA_SCHEMA

Нет

Схема (база данных компании SAP B1)

MI_EMPRESA

HANA_READONLY

Нет (по умалчанию true)

true = только запросы на чтение; false = разрешает INSERT/UPDATE/DELETE/DDL

true

HANA_SSL

Нет (по умолчанию false)

true = зашифрованное подключение (без проверки сертификата)

false

Related MCP server: SAP MCP Server

Инструменты MCP

Инструмент

Описание

execute_query

Выполняет SQL и возвращает строки в JSON (columns, rows, rowCount, truncated).

check_connection

Проверяет подключение: база данных, версия и текущая схема.

list_schemas

Перечисляет схемы экземпляра (необязательный фильтр по шаблону).

list_tables

Перечисляет таблицы схемы (необязательный фильтр по шаблону).

get_table_schema

Структура таблицы: столбцы, типы, длина, масштаб, допустимость NULL.

Важно об SQL и SAP B1

Таблицы и столбцы SAP B1 используют смешанный регистр и чувствительны к регистру: имена столбцов должны быть в двойных кавычках:

SELECT "ItemCode", "ItemName", "OnHand" FROM OITM WHERE "OnHand" > 0 ORDER BY "OnHand" DESC

Без кавычек HANA преобразует всё в верхний регистр, и запрос завершается ошибкой invalid column name.

Режим только чтения

При HANA_READONLY=true (по умолчанию) сервер отклоняет любое выражение, не являющееся SELECT, WITH, EXPLAIN, SHOW или DESCRIBE. Чтобы разрешить запись, используйте HANA_READONLY=false — под вашу ответственность.

Разработка

npm install
npm run build      # compila TypeScript a dist/
npm test           # tests unitarios (vitest)

Папка dist/ компилируется и версионируется: именно её запускает npx github:... без необходимости сборки на машине пользователя.

Архитектура

Слои с ручным внедрением зависимостей и принципами SOLID:

src/
├── index.ts              Composition root: DI, host MCP (stdio)
├── configuration/        HanaOptions + validación de variables de entorno
├── domain/               Modelos: QueryResult, SchemaInfo, TableInfo, ColumnInfo, StatementKind
├── application/          Abstracciones de servicios + ISqlGuard (Strategy) + clasificador SQL
├── infrastructure/       Única capa que toca @sap/hana-client: factory de conexión,
│                         servicios de consulta/esquema, mapeo de datos (Buffer→base64, Date→ISO)
└── mcp/                  Adaptadores delgados: registro de tools MCP

Лицензии

  • Этот проект: MIT.

  • Драйвер @sap/hana-client: SAP Developer License Agreement (распространяется как зависимость npm и не версионируется в этом репозитории). См. node_modules/@sap/hana-client/developer-license-3_2.txt.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides database interaction and business intelligence capabilities, enabling users to run SQL queries, analyze business data, and automatically generate business insight memos for Microsoft SQL Server databases.
    39
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to query live data from SAP HANA and SQL databases through read-only SELECT queries with CSV-formatted results.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides secure, read-only access to Microsoft SQL Server with multi-layer protection, enabling safe query execution, schema discovery, and SQL script analysis through natural language.
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables safe, read-only querying and schema exploration for Microsoft SQL Server databases with preconfigured Diamond Inventory support, multiple database management, and optional HTTP API.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/leonardows1/sap-b1-hana-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server