SAP RCA MCP Server
SAP RCA MCP Server
Servidor MCP en Python que permite a los agentes de IA realizar análisis de causa raíz en sistemas SAP consultando datos de Azure Log Analytics.
Arquitectura
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: CloudWatch Log Analyst MCP
Las 4 herramientas
Herramienta | Propósito |
| Devuelve los nombres de columna exactos, tipos, columna de tiempo, columna SID y sugerencias KQL para las tablas registradas. Llama a esto primero. |
| Valida una consulta KQL generada por el agente (protección de solo lectura) y luego la ejecuta. |
| Aplica conocimiento de dominio de SAP para clasificar filas sin procesar: categorías de error, severidad, recomendaciones. |
| Ejecuta los 8 pasos de RCA automáticamente y devuelve un informe JSON consolidado. |
Requisitos previos
Python 3.11+
Azure CLI (
az) instaladoAcceso al área de trabajo de Azure Log Analytics (se necesita el ID del área de trabajo)
Rol
Log Analytics Readerasignado a tu cuenta (o identidad administrada)
Configuración
# 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 loginConfiguración (.env)
AZURE_LOG_ANALYTICS_WORKSPACE_ID=<your-workspace-guid>
AZURE_TENANT_ID=<your-tenant-id>En Azure con identidad administrada, solo se necesita el ID del área de trabajo: deja todos los campos AZURE_CLIENT_* en blanco.
Ejecución
Modo stdio (Claude Desktop, MCP Inspector, Azure AI Foundry local)
python server.py
# or:
mcp dev server.pyModo SSE/HTTP (despliegue en Azure App Service)
pip install uvicorn
uvicorn server:mcp --host 0.0.0.0 --port 8000El endpoint SSE será: http://localhost:8000/sse
Conectar a Claude Desktop
Añade a claude_desktop_config.json:
{
"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>"
}
}
}
}Conectar a Azure AI Foundry
En Azure AI Foundry, añade una conexión MCP que apunte a:
https://<your-app-service>.azurewebsites.net/sse
Ejemplo de conversación con el agente
Flujo de trabajo de consulta enfocada:
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")RCA automatizado completo:
Agent → run_full_rca(sid="CHA", time_range_hours=4, issue_description="Multiple batch job failures")
← Returns complete 8-step RCA reportTablas registradas
Actualmente registradas (1 de 7):
Tabla | Origen SAP | Estado |
| ST22 ABAP Short Dumps | ✅ Registrada |
| SM21 System Log | ⏳ Esperando CSV de esquema |
| SM37 Batch Jobs | ⏳ Esperando CSV de esquema |
| Instance Availability | ⏳ Esperando CSV de esquema |
| Process Availability | ⏳ Esperando CSV de esquema |
| OS Metrics | ⏳ Esperando CSV de esquema |
| HA Cluster | ⏳ Esperando CSV de esquema |
Añadir un nuevo esquema de tabla
Proporciona el CSV de esquema (columnas + descripción) — mismo formato que
SchemaforMCP-Details.csv.Añade una nueva entrada a
schema_registry.pysiguiendo la entrada existente deSapNetweaver_ShortDumps_CLcomo plantilla.Si la tabla necesita lógica de análisis específica del dominio, añade una función
_analyze_<type>()atools/analyze_results.py.Añade una plantilla KQL a
_KQL_TEMPLATESentools/rca_orchestrator.py.Reinicia el servidor — no se necesitan otros cambios.
Notas de seguridad
execute_querybloquea todos los comandos de gestión de KQL (.ingest,.drop,.set, etc.)run_full_rcautiliza plantillas KQL parametrizadas — los valores de SID se validan antes de la sustituciónTodas las credenciales se cargan desde variables de entorno — sin secretos en el código
En Azure, usa identidad administrada; no almacenes
AZURE_CLIENT_SECRETen la configuración de App Service
⚠ Preguntas pendientes (Acción requerida)
Antes de que el servidor pueda conectarse a tu área de trabajo, debes proporcionar:
# | Qué | Dónde encontrarlo | Archivo a actualizar |
1 | ID del área de trabajo de Log Analytics | Azure Portal → Área de trabajo de Log Analytics → Información general → ID del área de trabajo |
|
2 | ID de inquilino de Azure | Azure Portal → Microsoft Entra ID → Información general → ID de inquilino |
|
3 | Columna de tiempo para | El CSV que proporcionaste muestra |
|
4 | Presencia de la columna SID_s | ¿Está presente |
|
5 | Esquemas de las 6 tablas restantes | Proporciona los CSV de esquema (mismo formato que | entradas de |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying and managing Azure Log Analytics workspaces using KQL (Kusto Query Language). Supports executing queries, managing saved queries, and exploring workspace tables and schemas with Service Principal authentication.
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to autonomously query AWS CloudWatch Logs and perform structured root-cause analysis via natural language prompts, using MCP tools for log group listing and Insights queries.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to investigate backend incidents by executing runbooks that gather evidence from observability and storage systems.59MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered analysis of exceptions using vector similarity search and Azure OpenAI for operations teams.
Related MCP Connectors
AI agent run monitoring with incident replay and SLA receipts.
Find relevant security data from Sentinel data lake for building effective agents. More:aka.ms/s/de
Debug, build, and manage Power Automate cloud flows with AI agents
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/vchinnu/AMS-MCPV2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server