SAP RCA MCP Server
SAP RCA MCP Server
Python MCP-сервер, который позволяет ИИ-агентам выполнять анализ первопричин в системах SAP, запрашивая данные Azure Log Analytics.
Архитектура
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
4 инструмента
Инструмент | Назначение |
| Возвращает точные имена столбцов, типы, столбец времени, столбец SID и подсказки KQL для зарегистрированных таблиц. Вызывайте это первым. |
| Проверяет сгенерированный агентом KQL-запрос (защита от записи), затем выполняет его. |
| Применяет знания предметной области SAP для классификации необработанных строк: категории ошибок, серьезность, рекомендации. |
| Автоматически выполняет все 8 шагов RCA и возвращает консолидированный JSON-отчет. |
Предварительные требования
Python 3.11+
Установлен Azure CLI (
az)Доступ к рабочей области Azure Log Analytics (требуется идентификатор рабочей области)
Роль
Log Analytics Reader, назначенная вашей учетной записи (или управляемое удостоверение)
Настройка
# 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 loginКонфигурация (.env)
AZURE_LOG_ANALYTICS_WORKSPACE_ID=<your-workspace-guid>
AZURE_TENANT_ID=<your-tenant-id>В Azure с управляемым удостоверением нужен только идентификатор рабочей области — оставьте все поля AZURE_CLIENT_* пустыми.
Запуск
режим stdio (Claude Desktop, MCP Inspector, локальный Azure AI Foundry)
python server.py
# or:
mcp dev server.pyрежим SSE/HTTP (развертывание в Azure App Service)
pip install uvicorn
uvicorn server:mcp --host 0.0.0.0 --port 8000Конечная точка SSE будет: http://localhost:8000/sse
Подключение к Claude Desktop
Добавьте в 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>"
}
}
}
}Подключение к Azure AI Foundry
В Azure AI Foundry добавьте MCP-подключение, указывающее на: https://<your-app-service>.azurewebsites.net/sse
Пример диалога с агентом
Сфокусированный рабочий процесс запросов:
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:
Agent → run_full_rca(sid="CHA", time_range_hours=4, issue_description="Multiple batch job failures")
← Returns complete 8-step RCA reportЗарегистрированные таблицы
Сейчас зарегистрировано (1 из 7):
Table | SAP Source | Status |
| ST22 ABAP короткие дампы | ✅ Зарегистрирована |
| SM21 системный журнал | ⏳ Ожидает CSV-схему |
| SM37 пакетные задания | ⏳ Ожидает CSV-схему |
| Доступность экземпляра | ⏳ Ожидает CSV-схему |
| Доступность процесса | ⏳ Ожидает CSV-схему |
| Метрики ОС | ⏳ Ожидает CSV-схему |
| Кластер HA | ⏳ Ожидает CSV-схему |
Добавление новой схемы таблицы
Предоставьте CSV-схему (столбцы + описание) — тот же формат, что и
SchemaforMCP-Details.csv.Добавьте новую запись в
schema_registry.py, используя существующую записьSapNetweaver_ShortDumps_CLв качестве шаблона.Если таблице требуется специфичная для домена логика анализа, добавьте функцию
_analyze_<type>()вtools/analyze_results.py.Добавьте KQL-шаблон в
_KQL_TEMPLATESвtools/rca_orchestrator.py.Перезапустите сервер — других изменений не требуется.
Замечания по безопасности
execute_queryблокирует все команды управления KQL (.ingest,.drop,.setи т.д.)run_full_rcaиспользует параметризованные KQL-шаблоны — значения SID проверяются перед подстановкойВсе учетные данные загружаются из переменных окружения — никаких секретов в коде
В Azure используйте управляемое удостоверение; не храните
AZURE_CLIENT_SECRETв конфигурации App Service
⚠ Открытые вопросы (требуется действие)
Прежде чем сервер сможет подключиться к вашей рабочей области, вам необходимо предоставить:
# | Что | Где найти | Файл для обновления |
1 | Идентификатор рабочей области Log Analytics | Портал Azure → Рабочая область Log Analytics → Обзор → Идентификатор рабочей области |
|
2 | Идентификатор клиента Azure | Портал Azure → Microsoft Entra ID → Обзор → Идентификатор клиента |
|
3 | Столбец времени для | Предоставленный CSV показывает | строка |
4 | Наличие столбца SID_s | Присутствует ли | поле |
5 | Оставшиеся 6 схем таблиц | Предоставьте CSV-схемы (тот же формат, что и | записи в |
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