Skip to main content
Glama

ARIM MCP-Server

Ein MCP-Server (stdio) zum direkten Abfragen von Messdaten, Statistiken, Korrekturen und Berichten des ARIM-Air-Monitoringsystems in Claude.

Nur lesend. Funktionen, die den Serverzustand verändern (Berichte veröffentlichen, Korrekturen anwenden, Gerätebefehle, Backfill, Alarme anlegen/löschen), sind nicht enthalten.

Installation

Node.js 18 oder höher ist erforderlich.

macOS / Linux

cd /Users/amdmania/Project/arimair-mcp
npm install
npm run build
./setup-arim-mcp.sh     # Claude Code + Claude Desktop 자동 등록

Windows

Legen Sie das Repository an einem beliebigen Ort ab (z. B. C:\Users\<Benutzer>\arimair-mcp) und führen Sie es in diesem Ordner aus. Das Installationsskript ermittelt Pfade relativ zu seinem eigenen Speicherort, funktioniert also unabhängig vom Ablageort.

In PowerShell:

cd C:\Users\<사용자>\arimair-mcp
npm install
npm run build
powershell -ExecutionPolicy Bypass -File .\setup-arim-mcp.ps1

-ExecutionPolicy Bypass erlaubt die Ausführung nicht signierter Skripte nur dieses eine Mal. Es ändert keine Systemrichtlinien.

Was das Installationsskript tut (allgemein)

Die Serveradresse ist fest auf den Produktionsserver (https://monitor.arimair.com) eingestellt und wird nicht abgefragt. Beide Skripte fragen nur nach Benutzername, Passwort und Kontotyp und registrieren sich anschließend an den folgenden beiden Orten.

  • Claude Code CLI (claude mcp add arim -s user) — wird übersprungen, wenn der Befehl claude nicht vorhanden ist

  • Claude-Desktop-Konfigurationsdatei — vorhandene Dateien werden als .bak.<Zeitstempel> gesichert, bereits registrierte andere MCP-Server bleiben erhalten

OS

Pfad zur Claude-Desktop-Konfiguration

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Nach der Registrierung muss Claude Desktop vollständig beendet und neu geöffnet werden, damit die Tools erscheinen.

Manuelle Registrierung

# macOS / Linux
claude mcp add arim -s user -t stdio \
  -e ARIM_API_BASE_URL=https://monitor.arimair.com \
  -e ARIM_MCP_USER=<아이디> \
  -e ARIM_MCP_PASS=<비밀번호> \
  -- node /Users/amdmania/Project/arimair-mcp/build/index.js
# Windows (PowerShell) — 경로는 실제 설치 위치로
claude mcp add arim -s user -t stdio `
  -e "ARIM_API_BASE_URL=https://monitor.arimair.com" `
  -e "ARIM_MCP_USER=<아이디>" `
  -e "ARIM_MCP_PASS=<비밀번호>" `
  -- node C:\Users\<사용자>\arimair-mcp\build\index.js

Wenn Sie kein Passwort registriert haben, melden Sie sich nach dem Verbinden mit dem Tool arim_login an.

Umgebungsvariablen

Variable

Standardwert

Beschreibung

ARIM_API_BASE_URL

https://monitor.arimair.com

Adresse des Zielservers. Das Installationsskript registriert diesen Wert fest, daher muss er normalerweise nicht geändert werden; nur für Tests gegen einen lokalen Server z. B. auf http://localhost:9080 ändern

ARIM_MCP_USER

Benutzername für die automatische Anmeldung

ARIM_MCP_PASS

Passwort für die automatische Anmeldung

ARIM_MCP_USER_TYPE

admin

admin oder user

ARIM_API_TIMEOUT

20000

Anfragetimeout (ms)

Wenn die Anmeldedaten als Umgebungsvariablen gesetzt sind, erfolgt beim ersten Toolaufruf eine automatische Anmeldung; bei abgelaufener Sitzung wird einmal neu angemeldet und erneut versucht.

Authentifizierungsmethode

Der ARIM-Server stellt kein JWT aus, sondern authentifiziert über HttpSession + Sitzungscookie (SESSION von Spring Session). Der MCP speichert das beim Aufruf von /account/login erhaltene Cookie und sendet es bei späteren Anfragen mit.

An alle Anfragen wird der Header X-Mcp-Client: 1 angehängt. Wenn dieser Header vorhanden ist, gibt der AuthorizeInterceptor des Servers statt einer 302-Weiterleitung auf die Anmeldeseite ein 401-JSON zurück. Der MCP wertet dies als Sitzungsablauf und meldet sich erneut an.

Standort

Alle Abfragen zu Messgeräten, Messdaten, Statistiken und Berichten beziehen sich auf den aktuell ausgewählten Standort. Intern ist es die monitorId (Administratorkonto des Überwachungsziels) der Sitzung, in den Tools wird es jedoch als „Standort" behandelt. Es entspricht dem Standort-Auswahlfeld oben im Web-Interface.

site_list                        → 선택 가능한 사이트와 현재 사이트
site_select { site: "울산 환경보건센터" }   → 사이트 변경

Bei site_select genügt ein Teil des Standortnamens. Auch wenn die Wortreihenfolge vom registrierten Namen abweicht (z. B. registrierter Name [환경보건센터] 울산 울산대), wird der Standort gefunden, solange alle Wörter enthalten sind. Gesucht wird im Anzeigenamen (company), im Namen des Verantwortlichen (name) und in der siteId.

  • Bei mehreren Kandidaten wird nicht willkürlich einer ausgewählt, sondern eine Kandidatenliste zurückgegeben (z. B. „환경보건센터" → 9 Standorte)

  • Ein exakter Namensabgleich hat Vorrang vor einer Teilübereinstimmung (z. B. „도로교통연구원" → arimsc_ex)

Benutzerkonten sehen nur freigegebene Anbieter, Administratorkonten die gesamte Liste (gleiche Regel wie im Web-Interface).

Werkzeugliste

Authentifizierung

Tool

Beschreibung

arim_login

Anmeldung (Anmeldedaten aus Umgebungsvariablen möglich)

arim_whoami

Anmeldestatus / monitorId / Systemeinstellungen abrufen

arim_logout

Sitzung beenden

Standort

Tool

Beschreibung

site_list

Liste der verfügbaren Standorte und aktueller Standort

site_select

Abfragestandort wechseln

Messgeräte

Tool

Beschreibung

device_list

Messgeräteliste

device_get

Messgerätedetails

device_realtime

Neueste Werte aller Messgeräte (Rohdaten)

device_realtime_correction

Neueste Werte aller Messgeräte (korrigiert)

device_nearby_stations

Nahegelegene AirKorea-Messstationen

Messdaten

Tool

Beschreibung

data_search

Zeitraum abfragen (automatische Umschaltung Rohdaten/Stundenmittel/Tagesmittel je nach Zeitraum)

data_raw_search

Immer Minuten-Rohdaten abfragen

data_recent

Zuletzt erfasste Daten

Statistik & Wetter

Tool

Beschreibung

stat_daily_avg

Durchschnittsdaten abfragen

stat_collection_rate

Messgerät × Tages-Erfassungsquote (Fehlanteil)

stat_weather_stations

Liste der KMA-Wetterstationen

stat_weather

KMA-Beobachtungsverlauf (stündlich/täglich)

sensor_list

Sensormetadaten (Einheit, Nachkommastellen)

Korrektur

Tool

Beschreibung

correction_devices

Zu korrigierende Messgeräte und Anwendungsstatus

correction_trend

Verlauf der Korrekturfaktoren (letzte 12 Monate)

correction_compare

Zeitreihenvergleich vor/nach Korrektur

correction_factors

Korrekturfaktoren für einen bestimmten Anwendungsmonat

correction_versions

Versionsverlauf des Korrekturmodells

Berichte

Tool

Beschreibung

report_list

Veröffentlichungsverlauf

report_get

Verlaufsdetails

report_months

Liste der Veröffentlichungsmonate

report_v2_html

HTML-Inhalt des neuen Berichts (V2)

Alarme

Tool

Beschreibung

alarm_list

Alarmverlauf

alarm_config_list

SMS-Benachrichtigungseinstellungen für Sensorsschwellenwerte

Überwachungsaggregation

Tool

Beschreibung

monitor_device_state

Betriebs-/Kommunikationsstatus-Aggregation

monitor_working_percent

Normale Betriebsrate

monitor_data_count

Erfassungszahlen-Aggregation

monitor_fault_devices

Fehlerhafte/auffällige Messgeräte

monitor_search

Überwachungszeitraum abfragen

monitor_rose / monitor_rose_search

Schadstoffrose

Verarbeitung großer Antworten

Die Zeitreihen-Abfragewerkzeuge akzeptieren maxRows (Standard 500). Da der Server keine Obergrenze für die Zeilenzahl hat und bereits eine Tagesabfrage im Minutentakt über 1.400 Zeilen liefert, wird bei Überschreitung gleichmäßig abgetastet (Sampling) und die Antwort enthält zusätzlich totalRows / returnedRows / sampled. Die letzte (neueste) Zeile bleibt immer erhalten.

Serverseitige Abhängigkeiten

Dieser MCP setzt die folgenden Serveränderungen voraus.

Position

Änderung

route/AuthorizeInterceptor.java

Gibt bei X-Mcp-Client: 1-Header 401 JSON zurück

controller/AccountController.java

GET /account/me hinzugefügt

controller/SettingController.java

GET /setting/sensorlist hinzugefügt

Ohne /account/me und /setting/sensorlist funktionieren nur arim_whoami, sensor_list und alarm_config_list (wenn adminId weggelassen wird) nicht; alle übrigen Werkzeuge funktionieren normal. Auch site_list funktioniert, aber ohne /account/me kann der aktuelle Standort nicht beim Server angefragt werden; daher wird der in dieser Sitzung über site_select gewählte Wert als aktueller Standort angezeigt.

Die Standortfunktion selbst verwendet ohne Serveränderungen ausschließlich die vorhandenen APIs (/site/update/{id}, /admin/list, /datarequest/providerlist).

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • MCP server for AI access to Swagger by SmartBear.

  • Autopilot MCP server for GEO analyses, reports, content, audits, memories and agents.

View all MCP Connectors

Latest Blog Posts

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/arim-science/arimair-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server