SAP RFC MCP Server
SAP RFC MCP-Server
Ein SAP RFC-Connector auf Unternehmensebene, basierend auf dem Model Context Protocol (MCP). Dieses Projekt zielt darauf ab, KI-Agenten (wie Claude Desktop, GPT-4, Cursor usw.) einen sicheren, effizienten und kontextbewussten Zugriff auf SAP-Systeme zu ermöglichen. Durch das standardisierte MCP-Protokoll können Agenten SAP RFCs ausführen und Geschäftsdaten abrufen, als würden sie lokale Funktionen aufrufen.
🌟 Projekt-Highlights
Unternehmenssicherheit: Unterstützt eine Master-Key-Verwaltungsarchitektur mit Funktionen zur Generierung dynamischer Tokens (Dynamic Tokens), Gültigkeitsmanagement und sofortigem Widerruf.
End-to-End-Tracing: Identitätsbewusstes Protokollierungssystem; jedes Log enthält die Client-IP und die Agenten-Identität, mit automatischer täglicher Rotation um Mitternacht.
Intelligentes Lesen von Tabellen: Integrierter Schutzmechanismus für Datenpuffer, der automatisch
DATA_BUFFER_EXCEEDED-Fehler behandelt und das sichere, iterative Lesen großer Datenmengen unterstützt.KI-optimierte Metadaten: Bietet detaillierte Funktionsschnittstellendefinitionen, Parameterbeschreibungen und unterstützt den Export von Wissensdatenbanken in einem RAG-freundlichen (Retrieval-Augmented Generation) Format.
Hochverfügbare Sitzungen: Unterstützt intelligentes Sitzungs-Reusing; Agenten müssen die Session-ID nicht manuell verwalten, da das System automatisch aktive Sitzungen basierend auf dem Token wiederherstellt.
🚀 Kernfunktionen (Tools)
Dieser Server stellt dem MCP-Client die folgenden Tool-Sets zur Verfügung, die den gesamten Prozess von der Systemerkennung bis zur Datenmanipulation abdecken:
1. Kern-RFC-Interaktion
call_rfc_function: Dynamischer Aufruf beliebiger SAP RFC-Funktionen, unterstützt die Parameterübergabe komplexer verschachtelter Strukturen.rfc_system_info: Abruf von Metadaten wie SAP-Systemversion, Protokoll, Kernel und Datenbanktyp.get_rfc_functions: Suche nach verfügbaren Remote-Aufruffunktionen im SAP-System mittels Fuzzy-Matching.
2. Sicheres Lesen von Daten
read_table: Tabellenlesetool mit automatischem Überlaufschutz, das Felder basierend auf dem RFC 512-Byte-Limit automatisch auswählt.read_table_complete: Iterativer Lesemodus, der das Anfordern einer großen Anzahl von Feldern unterstützt, die das Pufferlimit überschreiten, und die Verarbeitung automatisch in Batches durchführt.get_table_structure: Abruf der detaillierten Definition einer SAP-Tabelle, einschließlich technischer Feldeigenschaften und mehrsprachiger Beschreibungen.test_table_access: Schnelle Überprüfung der Leseberechtigungen des aktuellen Benutzers für eine bestimmte Tabelle sowie der Datenkonnektivität.
3. Metadatenverwaltung
get_function_metadata: Abruf des vollständigen "Handbuchs" einer Funktion, einschließlich Parameterrichtung, Typ, Länge und mehrsprachiger Kommentare.search_rfc_functions: Volltextsuche nach Funktionsnamen und Beschreibungen, um Agenten beim Auffinden geeigneter Schnittstellen zu unterstützen.export_metadata_for_rag: Export von SAP-Schnittstellenwissen als JSON zur Erstellung einer Offline-Wissensdatenbank für Agenten.
⚙️ Betriebsmodi
Das Projekt unterstützt drei Betriebsmodi, um den Integrationsanforderungen verschiedener Szenarien gerecht zu werden:
HTTP-Modus (Standard): Basiert auf dem von FastAPI bereitgestellten Streamable HTTP-Transport, unterstützt Streaming-Antworten (SSE) und ist für den Zugriff durch Remote-Agenten geeignet.
STDIO-Modus: Kommunikation über Standard-Input/Output, geeignet für lokal installierte MCP-Clients wie Claude Desktop.
Dual-Modus: Gleichzeitige Aktivierung von HTTP und STDIO, um sowohl lokales Debugging als auch Remote-Dienste zu ermöglichen.
📦 Schnelle Bereitstellung
1. Systemvoraussetzungen
Python: Version 3.9 oder höher.
SAP NW RFC SDK: Das offizielle SAP SDK muss installiert sein und die Umgebungsvariable
SAPNWRFC_HOMEmuss konfiguriert sein.
2. Installation
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. Konfiguration
Kopieren Sie .env.example nach .env und tragen Sie Ihre SAP-Verbindungsparameter sowie Sicherheitsschlüssel ein:
# 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🔐 Authentifizierungsleitfaden
Der Server verwendet eine zweistufige Authentifizierungsarchitektur:
Verwaltungsebene (Master): Verwendung des
MCP_MASTER_KEYfür den Zugriff auf/auth/*-Schnittstellen zur Durchführung der Token-Ausgabe.Geschäftsebene (Agent): Verwendung des generierten dynamischen Tokens für den Zugriff auf
/mcp/*-Schnittstellen zum Aufruf von SAP-Funktionen.
Beispiel für die Token-Generierung (mit Master Key):
POST /auth/token/generate
X-API-Key: admin-secret-key-2026
Body: {"agent_name": "Finance_Agent", "ttl_hours": 48}📂 Projektstruktur
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 优化📖 Weitere Dokumentation
QUICKSTART.md: 5-Minuten-Schnellstartanleitung.
MODES_GUIDE.md: Detaillierte Erläuterung der Betriebsmodi und Konfiguration.
DEPLOY.md: Bereitstellung in der Produktionsumgebung mit Systemd und Docker.
© 2026 SAP RFC MCP Server Team. Lizenziert unter 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