Skip to main content
Glama
Time-90

SAP RFC MCP Server

by Time-90

SAP RFC MCP Server

Коннектор SAP RFC корпоративного уровня на базе Model Context Protocol (MCP). Этот проект предназначен для предоставления агентам ИИ (таким как Claude Desktop, GPT-4, Cursor и др.) возможности безопасного, эффективного и контекстно-зависимого доступа к системам SAP. Благодаря стандартизированному протоколу MCP, агент может выполнять SAP RFC и извлекать бизнес-данные так же, как если бы он вызывал локальные функции.


🌟 Основные преимущества

  • Корпоративная безопасность: Поддержка архитектуры управления Master Key, генерация динамических токенов (Dynamic Tokens), управление сроком их действия и функция отзыва в один клик.

  • Сквозное отслеживание: Система логирования с учетом идентификации, где каждая запись содержит IP-адрес клиента и личность агента, с поддержкой автоматической ежедневной ротации логов.

  • Интеллектуальное чтение таблиц: Встроенный механизм защиты буфера данных, автоматическая обработка ошибок DATA_BUFFER_EXCEEDED, поддержка безопасного итеративного чтения больших объемов данных.

  • Метаданные, оптимизированные для ИИ: Предоставление подробных определений интерфейсов функций, описаний параметров и поддержка экспорта базы знаний в формате, удобном для RAG (Retrieval-Augmented Generation).

  • Высокодоступные сессии: Поддержка интеллектуального повторного использования сессий; агенту не нужно вручную управлять Session ID, система автоматически восстанавливает активную сессию на основе токена.


🚀 Основные возможности (Tools)

Данный сервер предоставляет MCP-клиенту следующий набор инструментов, охватывающий весь процесс от обнаружения системы до манипуляции данными:

1. Основное взаимодействие с RFC

  • call_rfc_function: Динамический вызов любой функции SAP RFC, поддержка передачи параметров со сложной вложенной структурой.

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

  • get_rfc_functions: Поиск доступных функций удаленного вызова в системе SAP с использованием нечеткого поиска.

2. Безопасное чтение данных

  • read_table: Инструмент чтения таблиц с автоматической защитой от переполнения, способный автоматически выбирать поля в соответствии с ограничением RFC в 512 байт.

  • read_table_complete: Режим итеративного чтения, поддерживающий запрос большого количества полей, превышающих лимит буфера, с автоматической пакетной обработкой.

  • get_table_structure: Извлечение подробных определений таблиц SAP, включая технические атрибуты полей и многоязычные описания.

  • test_table_access: Быстрая проверка прав доступа текущего пользователя к чтению конкретной таблицы и проверка соединения с данными.

3. Управление метаданными

  • get_function_metadata: Получение полного «руководства» по функции, включая направление параметров, типы, длину и многоязычные комментарии.

  • search_rfc_functions: Полнотекстовый поиск по именам и описаниям функций, помогающий агенту найти подходящий интерфейс.

  • export_metadata_for_rag: Экспорт знаний об интерфейсах SAP в формате JSON для создания автономной базы знаний агента.


⚙️ Режимы работы

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

  • HTTP-режим (по умолчанию): Основан на потоковой передаче HTTP (Streamable HTTP), предоставляемой FastAPI, поддерживает ответы SSE (Server-Sent Events), подходит для удаленного доступа агентов.

  • STDIO-режим: Связь через стандартный ввод-вывод, подходит для локально установленных MCP-клиентов, таких как Claude Desktop.

  • Двойной режим (Dual): Одновременный запуск HTTP и STDIO, что удобно как для локальной отладки, так и для удаленного обслуживания.


📦 Быстрое развертывание

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

  • Python: 3.9 или выше.

  • SAP NW RFC SDK: Необходимо установить официальный SDK SAP и настроить переменную окружения SAPNWRFC_HOME.

2. Установка

git clone <repo_url>
cd sap-rfc-mcp-server
python -m venv .venv
source .venv/bin/activate  # Windows 使用 .venv\Scripts\activate
pip install -e .

3. Конфигурация

Скопируйте .env.example в .env и заполните параметры подключения к SAP и ключи безопасности:

# SAP 连接
SAP_ASHOST=192.168.1.100
SAP_SYSNR=00
SAP_CLIENT=100
SAP_USER=YOUR_USER
SAP_PASSWD=YOUR_PASSWD

# 安全密钥
MCP_MASTER_KEY=admin-secret-key-2026

🔐 Руководство по аутентификации

Сервер использует двухуровневую архитектуру аутентификации:

  1. Уровень управления (Master): Использование MCP_MASTER_KEY для доступа к интерфейсу /auth/* и выполнения выдачи токенов.

  2. Уровень бизнеса (Agent): Использование сгенерированного динамического токена для доступа к интерфейсу /mcp/* и вызова функций SAP.

Пример генерации токена (с использованием Master Key):

POST /auth/token/generate
X-API-Key: admin-secret-key-2026
Body: {"agent_name": "Finance_Agent", "ttl_hours": 48}

📂 Структура проекта

sap_rfc_mcp_server/
├── auth.py                # 动态 Token 管理与持久化
├── server.py              # MCP 工具定义与处理核心逻辑
├── sap_client.py          # 底层 pyrfc 连接管理与池化
├── rfc_table_reader.py    # 增强型表数据安全读取逻辑
├── streamable_http_server.py # HTTP/SSE 传输层实现
├── logger.py              # 身份感知的自动切分日志系统
└── metadata_manager.py    # SAP 元数据分析与 RAG 优化

📖 Дополнительная документация

  • QUICKSTART.md: Руководство по быстрому запуску за 5 минут.

  • MODES_GUIDE.md: Подробное описание режимов работы и конфигурации.

  • DEPLOY.md: Развертывание в производственной среде с использованием Systemd и Docker.


© 2026 SAP RFC MCP Server Team. Лицензировано по MIT.

A
license - permissive license
Not graded
quality - not tested
Not graded
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

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/Time-90/sap-mcp'

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