SAP RCA MCP Server
SAP RCA MCP Server
Python-MCP-Server, der KI-Agenten die Durchführung von Root Cause Analysis auf SAP-Systemen ermöglicht, indem er Azure Log Analytics-Daten abfragt.
Architektur
AI Agent (Azure AI Foundry / Claude / Copilot Studio)
│ MCP Tool Calls
▼
FastMCP Server (server.py)
├── get_schema → schema_registry.py (table/column metadata)
├── execute_query → la_client.py (validated KQL execution)
├── analyze_results → domain_knowledge.py (SAP error classification)
└── run_full_rca → rca_orchestrator.py (8-step automated workflow)
│
▼
Azure Log Analytics (read-only KQL queries via Managed Identity)Related MCP server: exception-mcp-server
Die 4 Tools
Tool | Zweck |
| Gibt exakte Spaltennamen, Typen, Zeitspalte, SID-Spalte und KQL-Hinweise für registrierte Tabellen zurück. Rufen Sie dies zuerst auf. |
| Validiert eine agentengenerierte KQL-Abfrage (Read-only-Schutz) und führt sie dann aus. |
| Wendet SAP-Domänenwissen an, um Rohzeilen zu klassifizieren: Fehlerkategorien, Schweregrad, Empfehlungen. |
| Führt automatisch alle 8 RCA-Schritte aus und gibt einen konsolidierten JSON-Bericht zurück. |
Voraussetzungen
Python 3.11+
Azure CLI (
az) installiertZugriff auf den Azure Log Analytics-Arbeitsbereich (Workspace-ID erforderlich)
Rolle
Log Analytics ReaderIhrem Konto zugewiesen (oder Managed Identity)
Einrichtung
# 1. Clone / navigate to this folder
cd C:\Users\padmajat\Documents\AMS-Agentic-RCA\MCP
# 2. Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/macOS
# 3. Install dependencies
pip install -r requirements.txt
# 4. Configure
copy .env.example .env
# Edit .env and fill in AZURE_LOG_ANALYTICS_WORKSPACE_ID and AZURE_TENANT_ID
# 5. Authenticate (local development)
az loginKonfiguration (.env)
AZURE_LOG_ANALYTICS_WORKSPACE_ID=<your-workspace-guid>
AZURE_TENANT_ID=<your-tenant-id>Bei Azure mit Managed Identity wird nur die Workspace-ID benötigt – lassen Sie alle AZURE_CLIENT_*-Felder leer.
Ausführung
stdio-Modus (Claude Desktop, MCP Inspector, Azure AI Foundry lokal)
python server.py
# or:
mcp dev server.pySSE/HTTP-Modus (Azure App Service-Bereitstellung)
pip install uvicorn
uvicorn server:mcp --host 0.0.0.0 --port 8000Der SSE-Endpunkt lautet: http://localhost:8000/sse
Verbindung zu Claude Desktop
Fügen Sie zu claude_desktop_config.json hinzu:
{
"mcpServers": {
"sap-rca": {
"command": "python",
"args": ["C:/Users/padmajat/Documents/AMS-Agentic-RCA/MCP/server.py"],
"env": {
"AZURE_LOG_ANALYTICS_WORKSPACE_ID": "<your-workspace-id>",
"AZURE_TENANT_ID": "<your-tenant-id>"
}
}
}
}Verbindung zu Azure AI Foundry
Fügen Sie in Azure AI Foundry eine MCP-Verbindung hinzu, die auf https://<your-app-service>.azurewebsites.net/sse zeigt.
Beispiel für eine Agenten-Konversation
Fokussierter Abfrage-Workflow:
Agent → get_schema(["SapNetweaver_ShortDumps_CL"])
Agent → execute_query("SapNetweaver_ShortDumps_CL | where serverTimestamp_t > ago(4h) | where SID_s == 'CHA' | take 100")
Agent → analyze_results(results, "short_dumps", context="SID=CHA, last 4h")Vollständig automatisierte RCA:
Agent → run_full_rca(sid="CHA", time_range_hours=4, issue_description="Multiple batch job failures")
← Returns complete 8-step RCA reportRegistrierte Tabellen
Derzeit registriert (1 von 7):
Tabelle | SAP-Quelle | Status |
| ST22 ABAP Short Dumps | ✅ Registriert |
| SM21 Systemprotokoll | ⏳ Wartet auf Schema-CSV |
| SM37 Batch-Jobs | ⏳ Wartet auf Schema-CSV |
| Instanzverfügbarkeit | ⏳ Wartet auf Schema-CSV |
| Prozessverfügbarkeit | ⏳ Wartet auf Schema-CSV |
| OS-Metriken | ⏳ Wartet auf Schema-CSV |
| HA-Cluster | ⏳ Wartet auf Schema-CSV |
Hinzufügen eines neuen Tabellenschemas
Stellen Sie die Schema-CSV (Spalten + Beschreibung) bereit – gleiches Format wie
SchemaforMCP-Details.csv.Fügen Sie einen neuen Eintrag in
schema_registry.pyhinzu, wobei Sie den vorhandenen EintragSapNetweaver_ShortDumps_CLals Vorlage verwenden.Wenn die Tabelle domänenspezifische Analyselogik benötigt, fügen Sie eine
_analyze_<type>()-Funktion zutools/analyze_results.pyhinzu.Fügen Sie eine KQL-Vorlage zu
_KQL_TEMPLATESintools/rca_orchestrator.pyhinzu.Starten Sie den Server neu – keine weiteren Änderungen erforderlich.
Sicherheitshinweise
execute_queryblockiert alle KQL-Verwaltungsbefehle (.ingest,.drop,.setusw.)run_full_rcaverwendet parametrisierte KQL-Vorlagen – SID-Werte werden vor der Substitution validiertAlle Anmeldeinformationen werden aus Umgebungsvariablen geladen – keine Geheimnisse im Code
Verwenden Sie auf Azure Managed Identity; speichern Sie
AZURE_CLIENT_SECRETnicht in der App Service-Konfiguration
⚠ Offene Fragen (Aktion erforderlich)
Bevor der Server eine Verbindung zu Ihrem Arbeitsbereich herstellen kann, müssen Sie Folgendes bereitstellen:
# | Was | Wo zu finden | Zu aktualisierende Datei |
1 | Log Analytics Workspace ID | Azure-Portal → Log Analytics-Arbeitsbereich → Übersicht → Workspace-ID |
|
2 | Azure Tenant ID | Azure-Portal → Microsoft Entra ID → Übersicht → Tenant ID |
|
3 | Zeitspalte für | Die von Ihnen bereitgestellte CSV zeigt |
|
4 | Vorhandensein der Spalte | Ist |
|
5 | Verbleibende 6 Tabellenschemata | Stellen Sie Schema-CSVs (gleiches Format wie |
|
This server cannot be deployed
Maintenance
Related MCP Connectors
AI agent run monitoring with incident replay and SLA receipts.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
AI agent observability for production traces, natural-language insights, and improvement loops.
- causelyOAuthapp.causely
Causal reasoning for reliability: root cause, blast radius, and service health for agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to investigate backend incidents by executing runbooks that gather evidence from observability and storage systems.7 npm9MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered analysis of exceptions using vector similarity search and Azure OpenAI for operations teams.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and analyze data in Azure Data Explorer, Log Analytics, and Microsoft Sentinel using Kusto Query Language (KQL) through tools, resources, and prompts.6MIT
- AlicenseAqualityAmaintenanceEnables AI agents to discover, inspect, and call SAP RFC-enabled function modules (BAPIs/RFCs) with configurable read/write policies, transaction support, audit logging, and ABAP source retrieval.61MIT