Skip to main content
Glama
MSPbotsAIFramework

connectwise-command-mcp

connectwise-command-mcp

ConnectWise Command MCP-сервер — предоставляет API отчетности ConnectWise Command (Continuum) ITSupport247 в виде MCP-инструментов.

Примечание о названии: app.mspbots.ai называет эту интеграцию "ConnectWise Command (continuum)" (sys_integration.subject_code = CONTINUUM). ConnectWise приобрела Continuum и переименовала свой RMM-продукт в "ConnectWise Command"; базовый API по-прежнему размещается на устаревшем домене ITSupport247 (itsupport247.net) и документирован как "Reporting API". Этот сервер оборачивает только этот Reporting API — он не связан с ConnectWise Manage (PSA) или ConnectWise Automate.

Обзор

Этот сервер реализует Model Context Protocol (транспорт Streamable HTTP/SSE) и оборачивает каждый ресурс из официального справочника "Reporting API REST Resources" для ConnectWise Command / Continuum. Он следует Vendor MCP Service SOP от MSPbots: без сохранения состояния, без хранения учетных данных, аутентификация через заголовок при каждом запросе.

Базовый API аутентифицируется через HTTP Basic Auth (пустое имя пользователя, ключ API в качестве пароля) и возвращает JSON. Этот сервер никогда не хранит ключ — вызывающий передает его при каждом запросе через заголовок. Все имена полей запросов/ответов ниже приведены дословно из официального справочного документа, а не угаданы.

Related MCP server: nable-rmm-mcp

Быстрый старт

Docker (рекомендуется)

docker compose up --build

Сервер запускается на http://localhost:8080.

Локально (uv)

uv sync
python -m connectwise_command_mcp

Проверка работоспособности

curl http://localhost:8080/health
# {"status": "ok"}

Для конечной точки проверки работоспособности токен не требуется.

Параметры авторизации (Аутентификация)

Каждый запрос к /mcp должен включать следующий HTTP-заголовок:

Заголовок

Тип

Обязательность

По умолчанию

Допустимые значения

Описание поля

Пример

X-ConnectWise-Command-Api-Key

string

Обязательный

Нет

Нет (произвольный текст)

Ключ API Reporting API ConnectWise Command (Continuum), создается на портале ITSupport247 в разделе Admin > Integration > Reporting API > Regenerate Key. После получения сервер преобразует его в HTTP Basic Auth (имя пользователя пустое, этот ключ используется как пароль) и отправляет вышестоящему API, не сохраняя его.

X-ConnectWise-Command-Api-Key: <your_reporting_api_key>

Внутри сервер кодирует ключ следующим образом:

Authorization: Basic base64(":" + api_key)

В отличие от некоторых других RMM-вендоров (например, N-able), хосты Reporting API ConnectWise Command — это фиксированные публичные конечные точки, а не отдельные для каждого клиента — здесь нет поля/заголовка "URL" для настройки, что соответствует единственному полю "API Key" в форме интеграции app.mspbots.ai. Отсутствие X-ConnectWise-Command-Api-Key возвращает 401 Unauthorized.

Переменные окружения

Переменная

Значение по умолчанию

Описание

MCP_HTTP_PORT

8080

Порт прослушивания

MCP_HTTP_HOST

0.0.0.0

Хост прослушивания

CONNECTWISE_COMMAND_LEGACY_BASE_URL

https://itsapi.itsupport247.net/reportingapi/ReportingAPIService.svc/json

Устаревшие конечные точки отчетов (POST)

CONNECTWISE_COMMAND_SITES_BASE_URL

https://api.itsupport247.net

Конечные точки Sites/Devices (GET)

Конечная точка MCP

POST http://localhost:8080/mcp

Подключите ваш MCP-клиент:

  • Транспорт: http (Streamable HTTP / SSE)

  • Заголовок: X-ConnectWise-Command-Api-Key: <api_key>

Список инструментов

21 инструмент, сокращенный из исходной сборки полного API из 41 инструмента (2026-08-04). Собственная сохраненная конфигурация интеграции MSPbots для этого вендора вызывает 19 конечных точек (подтверждено через web/int/sys/integration/api/list для идентификатора интеграции 1424565871921713153), охватывающих Antivirus (7 из 7 сохранены — каждый инструмент антивируса действительно используется), Patches (4 из 4 сохранены — то же самое), Warranty (3 из 3 сохранены — то же самое), Sites/Devices (2 из 3 реально используются, сохранены все 3, так как категория небольшая), Agent/System/Software (3 из 3 сохранены — то же самое), плюс один отдельный инструмент Misc (get_score_summary, единственная конечная точка Misc, которая реально используется). Все остальное из исходной сборки из 41 инструмента — Performance (7), Availability (3), Recover for Continuity/Backup (4) и остальные 6 инструментов Misc (несоответствующие мобильные устройства, сводка по ОС, запросы на обслуживание по месяцам/неделям, SNMP-устройства, сводка по работам) — было удалено как неиспользуемое MSPbots. Если удаленный инструмент понадобится позже, официальный документ "Reporting API REST Resources" (ссылка ниже) по-прежнему его документирует, и его можно добавить заново тем же способом, которым были созданы сохраненные инструменты.

Большинство сохраненных инструментов принимают site_code (получите его сначала через connectwise_command_get_sites) плюс month/year (int); некоторые также принимают resource_type ("desktop" или "server", ограничения по ресурсам отмечены там, где документ фиксирует одно значение).

Sites, Devices & Summary

Инструмент

Функция

Параметры

connectwise_command_get_sites

Перечислить все активные сайты, видимые для этого ключа API

Без параметров

connectwise_command_get_devices

Перечислить устройства на сайте, опционально с фильтром по конкретному устройству

site_code (обязательный), machine_id?

connectwise_command_get_site_summary

Сводка по активам и заявкам сайта

site_code, month, year (все обязательные)

Agent / System / Software

Инструмент

Функция

Параметры

connectwise_command_get_agent_details

Детали агента мониторинга для всех устройств на сайте (также используется для получения Machine ID)

site_code (обязательный)

connectwise_command_get_system_information

Информация о системе/железе/ОС/BIOS, опционально с фильтром по конкретному устройству

site_code (обязательный), machine_id?

connectwise_command_get_installed_software

Список установленного ПО, опционально с фильтром по конкретному устройству

site_code (обязательный), machine_id?

Antivirus

Инструмент

Функция

Параметры

connectwise_command_get_antivirus_ages

Возраст обновлений антивирусных баз на рабочих станциях (в днях), только desktop

site_code, month, year (все обязательные)

connectwise_command_get_antivirus_summary

Сводный подсчет статусов антивирусной защиты

site_code, month, year, resource_type (все обязательные, "Desktop"/"server")

connectwise_command_get_antivirus_version_summary

Антивирусные продукты/версии, опционально с фильтром по конкретному устройству

site_code (обязательный), machine_id?

connectwise_command_get_daily_antivirus_status

Ежедневный статус антивируса

site_code, month, year, resource_type (все обязательные)

connectwise_command_get_missing_antivirus

Список устройств без антивирусной защиты

site_code, month, year, resource_type (все обязательные)

connectwise_command_get_outdated_antivirus

Список устройств с устаревшими антивирусными базами

site_code, month, year, resource_type (все обязательные)

connectwise_command_get_unsupported_antivirus

Список устройств с неподдерживаемыми антивирусными продуктами

site_code, month, year, resource_type (все обязательные)

Patches

Инструмент

Функция

Параметры

connectwise_command_get_missing_patches

Сводка отсутствующих обновлений на рабочих станциях

site_code, month, year (все обязательные)

connectwise_command_get_patch_summary_by_resource

Подсчет статусов обновлений по устройствам

site_code, month, year, resource_type (все обязательные)

connectwise_command_get_patch_summary_by_severity

Подсчет обновлений по критичности

site_code, month, year, resource_type (все обязательные)

connectwise_command_get_patch_summary_by_state

Общее количество обновлений по статусу (установлено/отсутствует/в черном списке и т.д.)

site_code, month, year, resource_type (все обязательные)

Warranty

Инструмент

Функция

Параметры

connectwise_command_get_expiring_warranties

Список устройств с истекшей или истекающей гарантией

site_code, month, year, resource_type (все обязательные)

connectwise_command_get_warranty_details

Детали гарантии устройства (не требует month/year)

site_code (обязательный), include_warranty_history?(по умолчанию false)

connectwise_command_get_warranty_summary

Подсчет статусов гарантии (действует/истекла/нет данных)

site_code, month, year, resource_type (все обязательные)

Misc

Инструмент

Функция

Параметры

connectwise_command_get_score_summary

Общая оценка здоровья/риска сайта (несколько показателей, -1 означает, что показатель неприменим для этого сайта)

site_code, month, year (все обязательные)

Пример тестирования

Перечислите все сайты, затем получите устройства для одного из них:

{
  "method": "tools/call",
  "params": { "name": "connectwise_command_get_sites", "arguments": {} }
}

Эквивалентный curl для запущенного сервера (конечная точка MCP со streamable HTTP):

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-ConnectWise-Command-Api-Key: <api_key>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": { "name": "connectwise_command_get_sites", "arguments": {} }
  }'

Ресурс на основе месяца/года:

{
  "method": "tools/call",
  "params": {
    "name": "connectwise_command_get_cpu_utilization",
    "arguments": { "site_code": "AGTSolutions", "month": 4, "year": 2015 }
  }
}

Справочник API

  • Официальная документация (портал ITSupport247, Admin > Integration > Reporting API):

    • "Getting Started with the Reporting API"

    • "Reporting API REST Resources" (полные схемы запросов/ответов по каждому ресурсу — источник всех имен полей в этом сервере)

Примечания по реализации

  • Сокращено с 41 до 21 инструмента 2026-08-04. Исходная сборка охватывала каждый ресурс из официальной документации Reporting API. Более позднее решение по объему сократило ее до реально настроенных 19 конечных точек MSPbots плюс небольшие всегда сохраняемые категории Sites/Devices/Agent/System — см. раздел "Список инструментов" выше для точного обоснования и полного списка удаленных инструментов (Performance, Availability, Recover for Continuity/Backup и 6 из 7 инструментов Misc — всего 17 инструментов). Если удаленный инструмент понадобится позже, официальная документация Reporting API (ссылка ниже) по-прежнему его документирует, и его можно добавить заново тем же способом, которым были созданы сохраненные инструменты.

  • Форма ошибок зависит от ресурса — некоторые ответы используют "Error" (с заглавной буквы, например, Agent Details), большинство используют "error" (со строчной буквы, например, Antivirus Summary), и позиция в ответе различается (вверху, внизу или вложено в каждый элемент). ContinuumClient._parse проверяет оба варианта написания.

  • GET-ресурсы (Sites, Devices) возвращают простой JSON-массив, а не объект с ключом error.

  • Имя поля запроса MachineID (используется в теле запроса для Antivirus Version Summary, Installed Software, System Information) отличается по регистру от поля ответа MachineId — оба подтверждены дословно из официальной документации.

  • Функциональность, эквивалентная get_site_installation_package, для этого API не существует; здесь она неприменима (в отличие от N-able RMM).

Related MCP Connectors

Related MCP Servers