Skip to main content
Glama
MSPbotsAI

connectwise-command-mcp

by MSPbotsAI

connectwise-command-mcp

ConnectWise Command MCP 服务器 — 将 ConnectWise Command (Continuum) ITSupport247 Reporting API 暴露为 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 传输),并封装了 ConnectWise Command / Continuum 官方 "Reporting API REST Resources" 参考文档中的每个资源。它遵循 MSPbots Vendor MCP Service SOP:无状态、不存储凭据、按请求通过请求头进行认证。

底层 API 通过 HTTP Basic Auth(用户名为空,API key 作为密码)进行认证,并返回 JSON。本服务器从不存储该 key — 调用方在每次请求时通过请求头传入。下文所有请求/响应字段名均逐字转录自官方参考文档,而非猜测。

Related MCP server: nable-rmm-mcp

快速开始

Docker(推荐)

docker compose up --build

本地 (uv)

uv sync
python -m connectwise_command_mcp

健康检查

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

健康检查端点无需 token。

授权参数说明 (Authentication)

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

请求头

类型

是否必填

默认值

枚举值

字段描述

示例

X-ConnectWise-Command-Api-Key

string

必填

无(自由文本)

ConnectWise Command (Continuum) Reporting API key,在 ITSupport247 门户 Admin > Integration > Reporting API > Regenerate Key 生成。服务端收到后转换为 HTTP Basic Auth(用户名留空,该 key 作为密码)发往上游 API,不做任何存储。

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

在内部,本服务器将该 key 编码为:

Authorization: Basic base64(":" + api_key)

与其他一些 RMM 厂商(如 N-able)不同,ConnectWise Command 的 Reporting API 主机是 固定公共端点,而非每租户独立 — 没有可配置的 "URL" 字段/请求头,这与 app.mspbots.ai 集成表单上的单一 "API Key" 字段一致。缺少 X-ConnectWise-Command-Api-Key 将返回 401 Unauthorized

环境变量

Variable

Default

Description

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 个工具,由最初 41 个工具的完整 API 构建(2026-08-04)精简而来。MSPbots 为该厂商存储的集成配置实际调用 19 个端点(已通过集成 id 1424565871921713153web/int/sys/integration/api/list 确认),涵盖 Antivirus(7/7 保留 — 每个防病毒工具都被实际使用)、Patches(4/4 保留 — 同样)、Warranty(3/3 保留 — 同样)、Sites/Devices(3 个中实际使用 2 个,因该类别较小而全部保留)、Agent/System/Software(3/3 保留 — 同样),外加一个 Misc 工具(get_score_summary,实际使用的唯一 Misc 端点)。原始 41 个工具版本中的其余部分 — Performance(7)、Availability(3)、Recover for Continuity/Backup(4),以及其他 6 个 Misc 工具(不合规移动设备、OS 汇总、按月份/周的服务请求、SNMP 设备、工作汇总)— 均因 MSPbots 未使用而被移除。如果之后需要某个被移除的工具,官方 "Reporting API REST Resources" 文档(下方链接)中仍有说明,可以按照保留工具的相同方式重新添加。

大多数保留的工具接受 site_code(先从 connectwise_command_get_sites 获取一个)以及 month/year(整数);部分工具还接受 resource_type("desktop" 或 "server";文档将其固定为单一值之处已按资源注明限制)。

站点、设备与汇总

工具

功能

参数

connectwise_command_get_sites

列出该 API key 可见的所有活跃站点

无参数

connectwise_command_get_devices

列出站点下的设备,可选定位到单设备

site_code (必填), machine_id?

connectwise_command_get_site_summary

站点资产与工单概况

site_code, month, year (均必填)

代理 / 系统 / 软件

工具

功能

参数

connectwise_command_get_agent_details

站点内所有设备的监控代理详情(也用于获取 Machine ID)

site_code (必填)

connectwise_command_get_system_information

系统硬件/OS/BIOS 信息,可选定位到单设备

site_code (必填), machine_id?

connectwise_command_get_installed_software

已安装软件列表,可选定位到单设备

site_code (必填), machine_id?

防病毒

工具

功能

参数

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 (均必填)

补丁

工具

功能

参数

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 (均必填)

保修

工具

功能

参数

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 (均必填)

杂项

工具

功能

参数

connectwise_command_get_score_summary

站点整体健康/风险评分(多项指标,-1 表示该站点不适用)

site_code, month, year (均必填)

测试示例 (Test Example)

列出所有站点,然后获取其中一个站点的设备:

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

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

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": {} }
  }'

一个基于 month/year 的资源:

{
  "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"(每个资源的完整请求/响应模式 — 本服务器中所有字段名的来源)

实现说明

  • 2026-08-04 从 41 个工具精简为 21 个工具。 原始构建覆盖了官方 Reporting API 文档中的每个资源。后续的范围决策将其削减为 MSPbots 实际配置的 19 个端点,外加始终保留的小型 Sites/Devices/Agent/System 类别 — 确切理由和已移除工具的完整列表见上文"工具列表"部分(Performance、Availability、Recover for Continuity/Backup,以及 7 个 Misc 工具中的 6 个 — 共 17 个工具)。如果之后需要某个被移除的工具,官方 Reporting API 文档(下方链接)中仍有说明,可以按照保留工具的相同方式重新添加。

  • 错误结构因资源而异 — 某些响应使用 "Error"(大写,例如 Agent Details),大多数使用 "error"(小写,例如 Antivirus Summary),且在响应中的位置也各不相同(顶部、底部或逐项嵌套)。ContinuumClient._parse 会同时检查两种大小写。

  • GET 资源(SitesDevices)返回裸 JSON 数组,而不是带有 error 键的对象。

  • 请求字段名 MachineID(用于 Antivirus Version Summary、Installed Software、System Information 的请求体)与响应字段 MachineId 的大小写不同 — 两者均已从官方文档逐字确认。

  • 该 API 不存在与 get_site_installation_package 等效的功能;此处不适用(不同于 N-able RMM)。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

0Releases (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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with N-able RMM (N-sight) API to manage clients, sites, devices, and retrieve monitoring data such as checks, patches, and performance history.
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    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.

View all related MCP servers

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/MSPbotsAI/connectwise-command-mcp'

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