Skip to main content
Glama

connectwise-asio-mcp

ConnectWise Asio MCP-сервер — предоставляет API-интерфейсы платформы ConnectWise (текущий API на базе ConnectWise Asio, ранее SolarWinds MSP/N-central-совместимого RMM) в виде инструментов MCP.

Примечание о названии: приложение app.mspbots.ai называет эту интеграцию «ConnectWise Asio» (sys_integration.subject_code = CWASIO). Это отдельный продукт от ConnectWise Command (Continuum), ConnectWise Manage (PSA) и ConnectWise Automate — у каждого из них есть свой MCP-сервер в этой группе. Базовый API официально называется «ConnectWise Platform APIs» в его спецификации OpenAPI (developer.connectwise.com — документация «REST API» в разделе Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks).

Обзор

Этот сервер реализует Model Context Protocol (транспорт Streamable HTTP/SSE) и оборачивает API-интерфейсы платформы ConnectWise — 25 инструментов в 5 категориях (devices, companies_contacts, custom_fields, patching, automation), сокращённых до фактически настроенных 23 конечных точек MSPbots плюс базовые операции CRUD (см. список инструментов ниже; изначально это была сборка полного API из 107 операций в 24 категориях тегов). Он следует стандарту Vendor MCP Service SOP MSPbots: без сохранения состояния, без хранения учётных данных, аутентификация по заголовкам для каждого запроса.

Базовый API аутентифицируется через OAuth2 Client Credentials. Этот сервер не выполняет обмен токенами сам — он получает уже полученный bearer-токен доступа для каждого запроса (как и другие интеграции с OAuth-потоком, например Microsoft Graph, обрабатываются в этой группе MCP MSPbots: шлюз создаёт/обновляет токен из client_id/client_secret/scope, и до этого сервера доходит только итоговый токен).

Related MCP server: connectwise-command-mcp

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

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

docker compose up --build

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

Локально (uv)

uv sync
python -m connectwise_asio_mcp

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

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

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

Параметры аутентификации

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

Заголовок

Тип

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

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

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

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

Пример

X-ConnectWise-Asio-Token

string

обязательно

отсутствует

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

Bearer-токен доступа OAuth2, заранее полученный вызывающей стороной (Agent Platform / вышестоящий шлюз) через POST /v1/token (client_credentials grant, требуется client_id + client_secret + scope), и шлюз отвечает за его обновление. Этот сервис никогда не получает client_id/client_secret, а только пересылает уже полученный токен.

X-ConnectWise-Asio-Token: <access_token>

X-ConnectWise-Asio-Base-Url

string

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

Переменная окружения CONNECTWISE_ASIO_BASE_URL (по умолчанию https://openapi.service.itsupport247.net)

https://openapi.service.itsupport247.net (NA), https://openapi.service.euplatform.connectwise.com (EU), https://openapi.service.auplatform.connectwise.com (AU)

ConnectWise Asio имеет 3 независимых сервера в зависимости от региона аккаунта (префикс Client ID 0e30=NA/0e31=EU/0e32=AU позволяет определить регион); если заголовок не указан, используется значение по умолчанию из переменной окружения, а шлюз, обслуживающий арендаторов из нескольких регионов, переопределяет его для каждого запроса.

X-ConnectWise-Asio-Base-Url: https://openapi.service.euplatform.connectwise.com

Если заголовок X-ConnectWise-Asio-Token отсутствует, возвращается 401 Unauthorized.

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

Переменная

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

Описание

MCP_HTTP_PORT

8080

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

MCP_HTTP_HOST

0.0.0.0

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

CONNECTWISE_ASIO_BASE_URL

https://openapi.service.itsupport247.net

Региональный сервер по умолчанию; для каждого запроса можно указать свой с помощью X-ConnectWise-Asio-Base-Url

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

POST http://localhost:8080/mcp

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

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

  • Заголовки: X-ConnectWise-Asio-Token: <access_token> (обязательно), X-ConnectWise-Asio-Base-Url: <base_url> (необязательно)

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

25 инструментов, сокращённых из первоначальной сборки полного API на 104 инструмента (2026-08-04). Конфигурация интеграции этого поставщика, хранящаяся в MSPbots, вызывает 23 конечные точки в 6 базовых категориях ресурсов (устройства/конечные точки, компании, сайты, настраиваемые поля, патчинг, автоматизация) — каждая из этих 23 настроенных конечных точек (включая отдельные варианты путей v1/v2, которые сводятся к одному инструменту) соответствует инструменту, сохранённому ниже, и помечается именем соответствующей конечной точки. Всё остальное из первоначальной сборки на 104 инструмента (Tickets — самая крупная категория из 24 инструментов, Policy/Policy Group/Package, Mapping, Alerting & Incidents, Backup Dashboard, Misc — 6 категорий, ~79 инструментов) было удалено как неиспользуемое MSPbots. Если позже понадобится удалённая категория, точные операции по-прежнему описаны в спецификации OpenAPI поставщика (ссылка ниже), и их можно добавить тем же способом, которым были созданы сохранённые инструменты.

Известный пробел, перенесённый из первоначальной сборки: MSPbots настроил две конечные точки — «ConnectWise Asio Suspension» (GET /v2/alerting/suspensions) и «ConnectWise Asio Suspension Details» (GET /v2/alerting/suspensions/{ruleid}) — для которых нет соответствующего инструмента в этом сервере (в первоначальной сборке на 104 инструмента категория alerting реализовывала только операции create/update/delete/post-incident, но никогда не read-запрос GET-suspension). Этот пробел существовал до сокращения и не был им вызван; он отмечен здесь, поскольку теперь более заметен при меньшем количестве инструментов. См. раздел «Известные пробелы» ниже.

Компании и контакты (6)

Инструмент

Описание

Параметры

connectwise_asio_create_company

Создать новую компанию (клиента).

body

connectwise_asio_get_companies

Получить список всех компаний (клиентов) партнёра.

none

connectwise_asio_get_company

Получить компанию по идентификатору.

company_id

connectwise_asio_get_company_sites

Получить список всех сайтов компании.

company_id

connectwise_asio_get_site

Получить сайт по идентификатору (в рамках партнёра, не ограничено компанией).

site_id

connectwise_asio_get_sites

Получить список всех сайтов партнёра (по всем компаниям).

none

Настраиваемые поля (6)

Инструмент

Описание

Параметры

connectwise_asio_get_company_custom_fields

Получить значения настраиваемых полей для компании.

company_id, attribute_ids?, with_defaults?, origin_type?, owner_id?

connectwise_asio_get_custom_field_definition

Получить схему определения настраиваемого поля по идентификатору.

definition_id

connectwise_asio_get_custom_field_definitions

Получить список определений настраиваемых полей для партнёра (предоставленных поставщиком и определённых партнёром).

entity_type?, origin_type?

connectwise_asio_get_device_custom_fields

Получить значения настраиваемых полей для устройства (конечной точки).

endpoint_id, attribute_ids?, with_defaults?, origin_type?, owner_id?

connectwise_asio_get_site_custom_fields

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

site_id, attribute_ids?, with_defaults?, origin_type?, owner_id?

connectwise_asio_update_company_custom_fields

Обновить несколько значений настраиваемых полей для компании.

company_id, body

Устройства и конечные точки (9)

Инструмент

Описание

Параметры

connectwise_asio_get_endpoint

Получить полные сведения о конкретной конечной точке (устройстве).

company_id, site_id, endpoint_id, field?

connectwise_asio_get_endpoint_applications

Получить сведения об установленных приложениях для набора конечных точек.

resource_type, resources, limit, cursor, field?, name?, version?

connectwise_asio_get_endpoint_cpu_usage

Получить последние данные об использовании CPU для конечной точки.

endpoint_id

connectwise_asio_get_endpoint_disk_usage

Получить последние данные об использовании диска для конечной точки.

endpoint_id

connectwise_asio_get_endpoint_heartbeat

Получить информацию о доступности устройств (онлайн/офлайн).

resource_type, resources, offline_lookback?, availability?

connectwise_asio_get_endpoint_memory_usage

Получить последние данные об использовании памяти для конечной точки.

endpoint_id, minute?

connectwise_asio_get_endpoint_services

Получить сведения о службах (Windows service / демон) для конечной точки.

company_id, site_id, endpoint_id, service_name?, field?

connectwise_asio_get_endpoint_system_state

Получить информацию о состоянии системы конечной точки (запущенные процессы, службы и т. д.).

endpoint_id

connectwise_asio_list_endpoints

Список устройств (конечных точек) для заданной категории с ограничением по конкретным ресурсам.

category, resource_type, resources, limit, cursor, sort_by?, field?, filter?

Патчи (3)

Инструмент

Описание

Параметры

connectwise_asio_get_endpoint_patches

Получить список обновлений ОС для конечной точки.

endpoint_id

connectwise_asio_get_os_patch_compliance_summary

Получить пакетную сводку по соответствию обновлениям ОС для набора ресурсов.

resource_type, resources, limit, cursor, field?

connectwise_asio_get_os_patch_details

Получить пакетные сведения об обновлениях ОС для набора конечных точек.

resource_type, resources, field?

Автоматизация (1)

Инструмент

Описание

Параметры

connectwise_asio_get_automation_tasks

Получить все задачи автоматизации для партнёра.

нет

Тестовый пример (Test Example)

Получите список компаний, а затем их площадки:

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

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

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-ConnectWise-Asio-Token: <access_token>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": { "name": "connectwise_asio_get_companies", "arguments": {} }
  }'

Параметризованный вызов:

{
  "method": "tools/call",
  "params": {
    "name": "connectwise_asio_get_endpoint_cpu_usage",
    "arguments": { "endpoint_id": "abc-123" }
  }
}

Справочник по API

  • Официальная документация (ConnectWise Developer Network — требуется вход в систему): Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks > REST API

  • Базовые URL: NA https://openapi.service.itsupport247.net, EU https://openapi.service.euplatform.connectwise.com, AU https://openapi.service.auplatform.connectwise.com

Известные пробелы / Пока не проверено

  • Сокращено со 104 до 25 инструментов 2026-08-04. Первоначальная сборка охватывала полную спецификацию ConnectWise Platform APIs в соответствии с ранее принятым решением об объёме. Более позднее решение об объёме сократило её до категорий, которые фактически использует MSPbots, — см. раздел «Список инструментов» выше: там точное сопоставление endpoint→tool и полный список 6 удалённых категорий (~79 инструментов, включая категорию tickets из 24 инструментов — самую крупную в исходной сборке). Если удалённая категория понадобится позже, OpenAPI-спецификация вендора (ссылка ниже) по-прежнему описывает её точные операции, и их можно добавить повторно тем же способом, которым были сгенерированы сохранённые инструменты.

  • У настроенных в MSPbots конечных точек «Suspension»/«Suspension Details» нет соответствующего инструмента — этот пробел существовал ещё до сокращения (в исходной сборке из 104 инструментов категория alerting никогда не реализовывала операцию чтения GET-suspension, только create/update/delete/post-incident) и не был вызван этим сокращением. Если данные о приостановках действительно нужны, это потребуется добавить из OpenAPI-спецификации вендора.

  • Пока не проверено на реальном аккаунте ConnectWise Asio — выполнена только проверка на уровне протокола (health check, 401 при отсутствии токена, tools/list возвращает все 25 инструментов).

  • connectwise_asio_update_company_custom_fields и connectwise_asio_create_company принимают обобщённый параметр body: dict вместо полностью развёрнутых именованных аргументов — в docstring перечислены обязательные поля верхнего уровня, но структуру вложенных объектов следует сверять с реальным API при первом использовании.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for ConnectWise PSA (Manage) enabling ticket management, time entry, and read-only lookups of companies, contacts, and configurations with role-based access control and bring-your-own-API-keys support.
    65 npm
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Exposes the CloudRadial REST API (client portal / PSA-adjacent MSP platform) as MCP tools, enabling operations on companies, articles, feedback, archives, flexible assets, and more via 34 tools with HTTP Basic Auth.
    1
    -
  • F
    license
    A
    quality
    B
    maintenance
    Exposes eSentire Atlas API (Findings, Ticketing, MVS) and Threat Intelligence feeds (IP Watch, Advanced/STIX) as MCP tools, enabling security operations and threat intelligence queries through natural language.
    29
    -