Skip to main content
Glama

connectwise-asio-mcp

ConnectWise Asio MCP 服务器——将 ConnectWise Platform APIs(ConnectWise Asio 背后的"Current API",前身为 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 在其 OpenAPI 规范中正式命名为 "ConnectWise Platform APIs"(developer.connectwise.com — Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks 下的 "REST API" 文档)。

概述

此服务器实现了 Model Context Protocol(Streamable HTTP/SSE 传输),并封装了 ConnectWise Platform APIs — 25 个工具,涵盖 5 个类别(devices、companies_contacts、custom_fields、patching、automation),精简至 MSPbots 实际配置的 23 个端点加上最少的核心 CRUD(参见下方工具列表;最初是对 24 个标签类别的 107 个操作的完整 API 构建)。它遵循 MSPbots 的 Vendor MCP Service SOP:无状态、不存储凭据、按请求进行头部认证。

底层 API 通过 OAuth2 Client Credentials 进行认证。此服务器本身不执行 token 交换——它在每次请求时接收已获取的 bearer 访问 token(与此 MSPbots MCP 服务器群中其他 OAuth 流程集成的处理方式一致,例如 Microsoft Graph:网关根据 client_id/client_secret/scope 生成/刷新 token,只有最终产生的 token 到达此服务器)。

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"}

健康检查端点不需要 token。

授权参数说明 (Authentication)

对 /mcp 的每次请求都必须包含以下 HTTP 头:

Header

类型

是否必填

默认值

枚举值

字段描述

Example

X-ConnectWise-Asio-Token

string

必填

无

无(自由文本)

OAuth2 bearer access token,由调用方(Agent Platform / 上游网关)通过 POST /v1/token(client_credentials grant,需 client_id + client_secret + scope)预先换取并负责刷新。本服务从不接触 client_id/client_secret,只转发已获取的 token。

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 可判断地区);不带该 header 时用环境变量默认值,网关同时服务多地区租户时按请求覆盖。

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 个工具,从最初的 104 工具完整 API 构建(2026-08-04)中精简而来。MSPbots 为此供应商存储的集成配置调用了 6 个底层资源类别(devices/endpoints、companies、sites、custom fields、patching、automation)中的 23 个端点——这 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 操作,从未实现 GET-suspension 读取)。这早于精简之前就已存在,并非精简引入;在此标记是因为工具数量减少后它变得更加明显。参见下方「已知缺口」。

公司与联系人(6)

Tool

描述

Params

connectwise_asio_create_company

创建新的公司(客户)。

body

connectwise_asio_get_companies

列出合作伙伴的所有公司(客户)。

none

connectwise_asio_get_company

按 ID 获取公司。

company_id

connectwise_asio_get_company_sites

列出公司的所有站点。

company_id

connectwise_asio_get_site

按 ID 获取站点(合作伙伴范围,不限定于某公司)。

site_id

connectwise_asio_get_sites

列出合作伙伴的所有站点(跨所有公司)。

none

自定义字段(6)

Tool

描述

Params

connectwise_asio_get_company_custom_fields

获取公司的自定义字段值。

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

connectwise_asio_get_custom_field_definition

按 ID 获取自定义字段定义模式。

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 服务/守护进程)详细信息。

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

获取合作伙伴的所有自动化任务。

none

测试示例 (Test Example)

获取公司列表,然后获取其站点:

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

针对运行中的服务器(可流式 HTTP MCP 端点)执行的等效 curl:

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

已知缺口 / 尚未验证

  • 于 2026-08-04 从 104 个工具缩减为 25 个工具。 原始构建根据早期的范围决策覆盖了完整的 ConnectWise Platform APIs 规范。后来的范围决策将其削减为 MSPbots 实际使用的类别 — 有关确切的端点→工具映射以及被移除的 6 个类别的完整列表(约 79 个工具,其中包括由 24 个工具组成的 tickets 类别,即原始构建中最大的单个类别),请参阅上方的工具列表部分。如果之后需要某个被移除的类别,供应商的 OpenAPI 规范(如下链接)仍记录有其确切操作,可以按照生成保留工具时的相同方式重新添加。

  • MSPbots 配置的 “Suspension”/“Suspension Details” 端点没有对应的工具 — 这个缺口在缩减之前就已存在(原始 104 工具构建中的 alerting 类别从未实现 GET-suspension 读取操作,只有 create/update/delete/post-incident),并非由缩减引入。如果确实需要 suspension 数据,则需要根据供应商的 OpenAPI 规范添加此功能。

  • 尚未针对真实的 ConnectWise Asio 账户进行测试 — 目前仅完成了协议级验证(健康检查、缺少令牌时返回 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
    -