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: CloudWatch Log Analyst MCP
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 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