Кратко
MCP-сервер для SAP HANA с открытым кодом для Claude, ChatGPT и Copilot: словарь данных SAP и CDS-представления как инструменты, SQL только на чтение, Docker.
Попробуй спросить
Примеры промптов для SAP S/4HANA (HANA SQL)
Кликни по промпту — он скопируется. Вставь в Claude, ChatGPT, Cursor, Gemini, Copilot или OpenClaw и запусти через этот коннектор.
Claude — это AI, он может ошибаться. Проверяйте ответы.
Коротко: AnythingMCP является MCP-сервером с открытым исходным кодом, который читает SAP HANA. Любая база данных HANA подключается как обычный коннектор базы данных; для SAP S/4HANA есть отдельный коннектор, который превращает собственный словарь данных SAP и CDS-представления в инструменты, чтобы модель знала, что означают BUKRS, HSL или VBRK, ещё до того, как напишет SQL. Каждая сессия работает только на чтение на уровне самой HANA, возвращает не более 1000 строк и ограничена тайм-аутом. Сервер запускается через Docker Compose в сети, из которой доступна HANA, а Claude, ChatGPT, Copilot, Cursor и Claude Code подключаются к нему по MCP.
- 10 инструментов sap_*
- Роли и доступ к инструментам
- По умолчанию только чтение
- Журнал аудита
Два способа работы с HANA
Коннектор базы данных (hana://) | Коннектор SAP S/4HANA (HANA SQL) | |
|---|---|---|
| Для чего | Любая база данных SAP HANA | База данных HANA под S/4HANA |
| Инструменты | Инструменты для схемы, примеров и запросов, созданные на основе базы данных, или ваши собственные параметризованные запросы | 10 готовых инструментов: sap_guide, словарь SAP, CDS-представления, организационная структура, sap_query |
| Что видит модель | Имена таблиц и столбцов | Бизнес-названия SAP, поля валют, значения кодов, соединения, выпущенные представления |
| Настройка | Строка подключения и пользователь | Параметры подключения, пользователь только для чтения и права из руководства по настройке |
Быстрый старт
На хосте, у которого есть доступ к SQL-порту HANA:
mkdir anythingmcp && cd anythingmcp
curl -fsSLo docker-compose.yml \
https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
echo 'SSRF_ALLOWED_HOSTS=hana.internal' >> .env # иначе частные хосты отклоняются
docker compose up -d # → http://localhost:3000
Затем Connectors → Marketplace → SAP S/4HANA (HANA SQL) или, для любой другой базы данных HANA, Add Connector → Database со строкой подключения hana://. Репозиторий sap-hana-mcp-server содержит тот же коннектор со скриптом установки и smoke-тестом.
Строка подключения
hana://host:port/?databaseName=TENANT¤tSchema=SCHEMA&sapClient=100&tls=verify
| Параметр | Значение |
|---|---|
| host, port | SQL-порт базы данных тенанта: 3<instance>15 для первого тенанта, 3<instance>41 и выше для следующих. Порт системной базы данных 3<instance>13 работает с databaseName, но может перенаправлять на внутреннее имя хоста. |
databaseName | Имя тенанта в многоконтейнерной системе. Можно указать и как путь: hana://host:30013/S4P. |
currentSchema | Схема для неполных имён, например SAPHANADB или SAPABAP1. |
sapClient | Трёхзначный мандант SAP. Устанавливает переменную сессии CDS_CLIENT, без которой CDS-представления SAP не возвращают строк. |
tls | verify (по умолчанию), no-verify для самоподписанного сертификата или off. |
statementTimeout | Число секунд до отмены запроса. По умолчанию 60, максимум 600. |
driver | hdb (по умолчанию, входит в комплект) или hana-client. |
Имя пользователя и пароль указываются в учётных данных коннектора, хранятся в зашифрованном виде и никогда не попадают в URL.
Как Claude находит данные
sap_guideобъясняет модель данных SAP применительно к SQL по темам: основы, финансы, сбыт, запасы, закупки, операции, подводные камни и рецепты запросов.sap_org_structureограничивает вопрос: балансовые единицы с валютой и вариантом финансового года, заводы, сбытовые и закупочные организации.sap_search_cds_viewsиsap_search_tablesнаходят, где лежат данные, и отмечают представления совместимости, которые обычный SQL прочитал бы неправильно.sap_describe_table,sap_find_fields,sap_field_valuesиsap_table_relationsдают названия полей, поля валют, значения кодов и соединения.sap_queryвыполняет одинSELECTтолько на чтение.
Инструменты словаря выполняют фиксированные запросы только на чтение к собственным таблицам SAP (DD02L, DD03L, DD04T, DD07T, DD08L, DDHEADANNO, DDFIELDANNO). Каждый инструмент и его SQL видны на странице коннектора.
Гарантии
Настоящей границей остаются права в базе данных: SQL не применяет прикладные полномочия SAP, поэтому создайте пользователя, который может читать только то, что разрешено видеть модели. Прямой SQL-доступ стороннего приложения к схеме ABAP регулируется вашей лицензией HANA: runtime-лицензия, поставляемая вместе с S/4HANA, обычно его не покрывает, а full-use-лицензия покрывает.
Драйверы
AnythingMCP поставляется с hdb, драйвером HANA от SAP на чистом JavaScript (Apache-2.0): вход по имени пользователя и паролю, TLS, многотенантные системы. Нативный @sap/hana-client от SAP добавляет Kerberos, hdbuserstore и пул соединений, но его лицензия не разрешает распространение, поэтому вы устанавливаете его в своё развёртывание и выбираете параметром driver=hana-client или HANA_DRIVER=hana-client. Подробнее: SAP HANA в документации AnythingMCP.
Сравнение с универсальным MCP-сервером для HANA
Универсальный MCP-сервер для HANA выводит список схем и выполняет SQL. В системе S/4HANA этого недостаточно: модель видит десятки тысяч таблиц с сокращёнными именами, суммы без поля валюты и представления совместимости, которые дают неверные итоги. Коннектор S/4HANA добавляет словарь данных SAP, CDS-представления и руководство по модели данных, поэтому модель выбирает правильную таблицу и называет свои допущения. Кроме того, он работает из любого MCP-клиента, с ролями, журналом аудита и гарантиями только на чтение, описанными выше.
FAQ
Существует ли MCP-сервер для SAP? Да. AnythingMCP включает MCP-коннекторы для SAP S/4HANA (HANA SQL и OData), S/4HANA Cloud, SAP Business One и SAP Concur, с открытым исходным кодом и для развёртывания на своём сервере. На этой странице описан коннектор для HANA; все они перечислены в руководстве Подключить SAP к Claude.
Как начать работу с MCP-сервером для HANA?
Запустите AnythingMCP через Docker Compose на хосте с доступом к SQL-порту HANA, добавьте хост в SSRF_ALLOWED_HOSTS, установите коннектор SAP S/4HANA (HANA SQL) с пользователем базы данных только для чтения и добавьте MCP-сервер в свой клиент. SQL для создания пользователя и выдачи прав есть в руководстве по настройке.
Может ли модель записывать данные в HANA?
Нет. Сессия в HANA работает только на чтение, выполняется только один SELECT, а запись и блокирующие чтения отклоняются.
Работает ли это с SAP ECC или Business One? Не через этот коннектор: он читает таблицы и CDS-представления S/4HANA. ECC подключается через OData-сервисы своего SAP Gateway, Business One через свой Service Layer.
Какие MCP-клиенты поддерживаются? Claude (claude.ai, Desktop и Code), ChatGPT (платные тарифы), GitHub Copilot, Cursor и любой другой клиент, который работает с MCP по HTTP.
Следующие шаги
- Подключить SAP S/4HANA к Claude через SAP HANA: пошаговая настройка с примерами вопросов
- Подключить SAP к Claude: все способы подключения SAP в одном обзоре
- OData в MCP: S/4HANA и ECC через SAP Gateway
- База данных в MCP: HANA наряду с SQL Server, PostgreSQL и Oracle
Это руководство помогло?