Skip to main content
Glama
JessePP

uipath-anomaly-detector

by JessePP

UiPath Orchestrator – Anomaly Detection MCP Server

Serwer MCP wywoływany przez Claude, który pobiera logi z UiPath Orchestrator, wykrywa anomalie i zwraca bezpieczne, ustrukturyzowane podsumowanie.

Opis celu i działania projektu (dla nietechnicznych odbiorców) znajduje się w IPA_opis_projektu.md. Ten plik zawiera instrukcję instalacji i konfiguracji.

Działa w dwóch trybach:

  • mock – generuje syntetyczne dane testowe z wstrzykniętymi anomaliami, nie wymaga żadnego konta UiPath. Domyślny tryb.

  • live – łączy się z prawdziwym Orchestratorem (Cloud lub on-premise).

Instalacja

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

Related MCP server: UiPath MCP Server

Konfiguracja

Skopiuj .env.example do .env i uzupełnij wartości.

Tryb mock (domyślny, do testów bez konta UiPath):

UIPATH_MODE=mock

Tryb live – Cloud Orchestrator:

UIPATH_MODE=live
UIPATH_DEPLOYMENT=cloud
UIPATH_ORCHESTRATOR_URL=https://cloud.uipath.com
UIPATH_ACCOUNT_NAME=twoje-konto
UIPATH_TENANT_NAME=twoj-tenant
UIPATH_CLIENT_ID=...
UIPATH_CLIENT_SECRET=...
UIPATH_ORGANIZATION_UNIT_ID=...

Tryb live – Orchestrator on-premise:

UIPATH_MODE=live
UIPATH_DEPLOYMENT=onprem
UIPATH_ONPREM_URL=https://twoj-orchestrator.local
UIPATH_ONPREM_TENANCY=Default
UIPATH_ONPREM_USERNAME=...
UIPATH_ONPREM_PASSWORD=...

Testy

.venv/bin/python -m pytest -v

Uruchomienie lokalne (inspekcja MCP)

.venv/bin/mcp dev src/mcp_server.py

Podłączenie do Claude Desktop / Claude Code

Dodaj do konfiguracji MCP (np. claude_desktop_config.json):

{
  "mcpServers": {
    "uipath-anomaly-detector": {
      "command": "/sciezka/do/projektu/.venv/bin/python",
      "args": ["-m", "src.mcp_server"],
      "env": {
        "UIPATH_MODE": "mock"
      }
    }
  }
}

Narzędzie MCP

analyze_uipath_logs(time_range_hours=24, folder=None, process=None)

Zwraca JSON z polami: period_start, period_end, mode, total_logs_analyzed, anomalies (lista wykrytych anomalii z poziomem ważności), risk_level, recommendations. Żadne surowe logi ani dane wrażliwe nie są zwracane.

Ograniczenia obecnej implementacji

  • Wykrywanie odstających czasów wykonania w trybie live wymaga rozszerzenia klienta o zapytania do /odata/Jobs (obecnie pole duration_ms jest tam zawsze None — w trybie mock jest w pełni wypełnione).

  • Reguły anomalii są proste i statystyczne (próg, z-score) — łatwe do rozszerzenia w src/anomaly_detector.py.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers