SAP RFC MCP Server
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🔐 Руководство по аутентификации
Сервер использует двухуровневую архитектуру аутентификации:
Уровень управления (Master): Использование
MCP_MASTER_KEYдля доступа к интерфейсу/auth/*и выполнения выдачи токенов.Уровень бизнеса (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.
This server cannot be installed
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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