arimair-mcp
OfficialСервер ARIM MCP
MCP-сервер (stdio) для прямого запроса измеренных данных, статистики, калибровки и отчётов системы мониторинга Arim Air прямо из Claude.
Только для чтения. Функции, изменяющие состояние сервера (публикация отчётов, применение калибровки, команды устройствам, обратное заполнение, регистрация/удаление аварий), не включены.
Установка
Требуется Node.js 18 или новее.
macOS / Linux
cd /Users/amdmania/Project/arimair-mcp
npm install
npm run build
./setup-arim-mcp.sh # Claude Code + Claude Desktop 자동 등록Windows
Поместите репозиторий в нужное место (например, C:\Users\<пользователь>\arimair-mcp) и запустите из этой папки.
Скрипт установки определяет пути относительно своего расположения, поэтому работает из любого места без изменений.
В PowerShell:
cd C:\Users\<사용자>\arimair-mcp
npm install
npm run build
powershell -ExecutionPolicy Bypass -File .\setup-arim-mcp.ps1-ExecutionPolicy Bypass — это опция, разрешающая выполнение неподписанного скрипта только один раз.
Она не меняет системную политику.
Что делает скрипт установки (общее)
Адрес сервера жёстко задан как рабочий сервер (https://monitor.arimair.com), поэтому он не запрашивается.
Оба скрипта запрашивают только идентификатор, пароль и тип учётной записи, после чего регистрируют сервер в двух местах:
Claude Code CLI (
claude mcp add arim -s user) — пропускается, если командаclaudeотсутствуетФайл конфигурации Claude Desktop — существующий файл сохраняется как
.bak.<временная метка>, а уже зарегистрированные другие MCP-серверы сохраняются
ОС | Путь к конфигурации Claude Desktop |
macOS |
|
Windows |
|
После регистрации необходимо полностью закрыть и снова открыть Claude Desktop, чтобы инструменты появились.
Ручная регистрация
# 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Если пароль не был зарегистрирован, после подключения можно войти с помощью инструмента arim_login.
Переменные окружения
Переменная | Значение по умолчанию | Описание |
|
| Адрес целевого сервера. Скрипт установки регистрирует его с этим значением, поэтому обычно трогать не нужно; меняется только для тестирования с локальным сервером, например на |
| — | Идентификатор для автоматического входа |
| — | Пароль для автоматического входа |
|
|
|
|
| Таймаут запроса (мс) |
Если учётные данные указаны в переменных окружения, при первом вызове инструмента выполняется автоматический вход, а при истечении сессии — один повторный вход и повторная попытка.
Способ аутентификации
Сервер ARIM не выдаёт JWT, а аутентифицирует через HttpSession + сессионный cookie (SESSION от Spring Session).
MCP сохраняет cookie, полученный при вызове /account/login, и отправляет его с последующими запросами.
Ко всем запросам добавляется заголовок X-Mcp-Client: 1. Если этот заголовок присутствует, AuthorizeInterceptor сервера
возвращает 401 JSON вместо перенаправления 302 на страницу входа, и MCP считает это истечением сессии и выполняет повторный вход.
Сайт
Запросы измерителей, измеренных данных, статистики и отчётов выполняются относительно текущего выбранного сайта.
Внутри сервера это monitorId сессии (учётная запись администратора, являющегося объектом мониторинга), но в инструментах это обрабатывается как «сайт».
Это то же самое, что комбинированный список выбора сайта в верхней части веб-экрана.
site_list → 선택 가능한 사이트와 현재 사이트
site_select { site: "울산 환경보건센터" } → 사이트 변경Для site_select достаточно указать часть названия сайта. Даже если порядок слов отличается от зарегистрированного имени (например, зарегистрированное имя —
[환경보건센터] 울산 울산대), поиск найдёт сайт, если присутствуют все слова. Поиск выполняется по отображаемому имени (company), имени ответственного (name)
и siteId.
Если кандидатов несколько, они не выбираются произвольно — возвращается список кандидатов (например, «환경보건센터» → 9 мест)
Точное имя имеет приоритет над частичным совпадением (например, «도로교통연구원» →
arimsc_ex)
Учётная запись обычного пользователя видит только одобренных поставщиков, учётная запись администратора — весь список (те же правила, что и в веб-интерфейсе).
Список инструментов
Аутентификация
Инструмент | Описание |
| Вход (можно использовать учётные данные из переменных окружения) |
| Запрос статуса входа / monitorId / системных настроек |
| Завершение сессии |
Сайт
Инструмент | Описание |
| Список доступных сайтов и текущий сайт |
| Изменение сайта для запросов |
Измерители
Инструмент | Описание |
| Список измерителей |
| Детали измерителя |
| Последние значения всех измерителей (сырые) |
| Последние значения всех измерителей (с калибровкой) |
| Ближайшие станции AirKorea |
Измеренные данные
Инструмент | Описание |
| Запрос за период (автоматическое переключение: сырые/часовые средние/суточные средние) |
| Всегда запрос сырых данных с минутным интервалом |
| Последние собранные данные |
Статистика и погода
Инструмент | Описание |
| Запрос средних данных |
| Коэффициент сбора (доля пропусков) по измерителям × датам |
| Список станций KMA |
| История наблюдений KMA (почасово/по дням) |
| Метаданные датчиков (единицы, число знаков после запятой) |
Калибровка
Инструмент | Описание |
| Измерители, подлежащие калибровке, и статус применения |
| Динамика калибровочных факторов (за последние 12 месяцев) |
| Сравнение временных рядов до/после калибровки |
| Калибровочные факторы за конкретный месяц применения |
| История версий модели калибровки |
Отчёты
Инструмент | Описание |
| История публикаций |
| Детали записи истории |
| Список месяцев, за которые выпускаются отчёты |
| HTML-содержимое нового отчёта (V2) |
Аварии
Инструмент | Описание |
| История возникновения аварий |
| Настройки SMS-уведомлений о порогах датчиков |
Сводки мониторинга
Инструмент | Описание |
| Сводка по работе/состоянию связи |
| Доля нормальной работы |
| Сводка по количеству собранных записей |
| Неисправные/аномальные измерители |
| Запрос базового периода мониторинга |
| Роза загрязнения |
Обработка больших ответов
Инструменты запроса временных рядов принимают maxRows (по умолчанию 500). На сервере нет ограничения на количество строк, поэтому даже запрос сырых данных за один день
даёт более 1 400 строк; при превышении выполняется равномерная выборка и в ответе возвращаются totalRows / returnedRows / sampled.
Последняя (самая новая) строка всегда сохраняется.
Зависимости на стороне сервера
Этот MCP предполагает следующие изменения на сервере.
Расположение | Изменение |
| Возврат 401 JSON при заголовке |
| Добавление |
| Добавление |
Если /account/me и /setting/sensorlist отсутствуют, не работают только arim_whoami, sensor_list, alarm_config_list (при опущенном adminId),
а остальные инструменты работают нормально. site_list тоже работает, но без /account/me невозможно запросить текущий сайт у сервера,
поэтому в качестве текущего сайта отображается значение, выбранное через site_select в этой сессии.
Сама функциональность сайта использует только существующие API (/site/update/{id}, /admin/list, /datarequest/providerlist) без изменений на сервере.
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 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.
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/arim-science/arimair-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server