connectwise-command-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@connectwise-command-mcplist my sites"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
connectwise-command-mcp
ConnectWise Command MCP server — exposes the ConnectWise Command (Continuum) ITSupport247 Reporting API as MCP tools.
Naming note: app.mspbots.ai calls this integration "ConnectWise Command (continuum)" (
sys_integration.subject_code = CONTINUUM). ConnectWise acquired Continuum and rebranded its RMM product as "ConnectWise Command"; the underlying API is still hosted on the legacy ITSupport247 domain (itsupport247.net) and documented as the "Reporting API". This server wraps that Reporting API only — it is unrelated to ConnectWise Manage (PSA) or ConnectWise Automate.
Overview
This server implements the Model Context Protocol (Streamable HTTP/SSE transport) and wraps every resource in the official "Reporting API REST Resources" reference for ConnectWise Command / Continuum. It follows the MSPbots Vendor MCP Service SOP: stateless, no stored credentials, per-request header authentication.
The underlying API authenticates via HTTP Basic Auth (blank username, API key as password) and returns JSON. This server never stores the key — the caller passes it per-request via a header. All request/response field names below are transcribed verbatim from the official reference doc, not guessed.
Related MCP server: nable-rmm-mcp
Quick Start
Docker (recommended)
docker compose up --buildThe server starts on http://localhost:8080.
Local (uv)
uv sync
python -m connectwise_command_mcpHealth Check
curl http://localhost:8080/health
# {"status": "ok"}No token is required for the health endpoint.
授权参数说明 (Authentication)
Every request to /mcp must include the following HTTP header:
Header | 类型 | 是否必填 | 默认值 | 枚举值 | 字段描述 | Example |
| string | 必填 | 无 | 无(自由文本) | ConnectWise Command (Continuum) Reporting API key,在 ITSupport247 门户 Admin > Integration > Reporting API > Regenerate Key 生成。服务端收到后转换为 HTTP Basic Auth(用户名留空,该 key 作为密码)发往上游 API,不做任何存储。 |
|
Internally, this server encodes the key as:
Authorization: Basic base64(":" + api_key)Unlike some other RMM vendors (e.g. N-able), ConnectWise Command's Reporting API hosts are fixed public endpoints, not per-tenant — there is no "URL" field/header to configure, matching the single "API Key" field on the app.mspbots.ai integration form. Missing X-ConnectWise-Command-Api-Key returns 401 Unauthorized.
Environment Variables
Variable | Default | Description |
|
| Listening port |
|
| Listening host |
|
| Legacy report endpoints (POST) |
|
| Sites/Devices endpoints (GET) |
MCP Endpoint
POST http://localhost:8080/mcpConnect your MCP client with:
Transport:
http(Streamable HTTP / SSE)Header:
X-ConnectWise-Command-Api-Key: <api_key>
Tool List
18 tools. Trimmed from an original 41-tool full-API build (2026-08-04) down to 21 tools matching MSPbots' actually-configured 19 endpoints, then a further 2026-08-26 trim removed 3 more:
connectwise_command_get_patch_summary_by_resourceandconnectwise_command_get_patch_summary_by_state— an intent-matching test pass found their descriptions were near-duplicates of each other ("Get [total] patch counts by state... [per device]", differing only by a few trailing words), a real misfire risk since a mixup silently swaps a per-device breakdown for a site-wide aggregate on the same underlying data.connectwise_command_get_patch_summary_by_severityandconnectwise_command_get_missing_patchesstill cover patch reporting without that ambiguity.connectwise_command_get_warranty_details— the same test pass found it doesn't take a device/machine filter at all (unlike its siblings), always returning every device's warranty info for the whole site; a caller asking about "this device's warranty" gets no argument to scope to just that device and has to filter the returned list itself. Removed rather than just documenting the gap —connectwise_command_get_expiring_warrantiesandconnectwise_command_get_warranty_summarystill cover warranty reporting.
If a removed tool is needed later, the official "Reporting API REST Resources" doc (linked below) still documents it and it can be re-added; git history has every removed tool's implementation verbatim.
Everything else from the original 41-tool build — Performance (7), Availability (3), Recover for Continuity/Backup (4), and 6 of 7 Misc tools (noncompliant mobile devices, OS summary, service requests by month/week, SNMP devices, work summary) — was removed on 2026-08-04 as unused by MSPbots.
Most kept tools take site_code (get one from connectwise_command_get_sites first) plus month/year (int); several also take resource_type ("desktop" or "server", per-resource restrictions noted where the doc fixes it to one value).
Sites, Devices & Summary
Tool | 功能 | 参数 |
| 列出该 API key 可见的所有活跃站点 | 无参数 |
| 列出站点下的设备,可选定位到单设备 |
|
| 站点资产与工单概况 |
|
Agent / System / Software
Tool | 功能 | 参数 |
| 站点内所有设备的监控代理详情(也用于获取 Machine ID) |
|
| 系统硬件/OS/BIOS 信息,可选定位到单设备 |
|
| 已安装软件列表,可选定位到单设备 |
|
Antivirus
Tool | 功能 | 参数 |
| 桌面机防病毒库更新时长(天),仅支持 desktop |
|
| 防病毒防护状态计数汇总 |
|
| 防病毒产品/版本,可选定位到单设备 |
|
| 每日防病毒状态 |
|
| 缺失防病毒防护的设备列表 |
|
| 病毒库过期的设备列表 |
|
| 使用不受支持防病毒产品的设备列表 |
|
Patches
Tool | 功能 | 参数 |
| 桌面机缺失补丁汇总 |
|
| 按严重程度的补丁计数 |
|
Warranty
Tool | 功能 | 参数 |
| 已过期或即将过期保修的设备列表 |
|
| 保修状态(有效/过期/无数据)计数 |
|
Misc
Tool | 功能 | 参数 |
| 站点整体健康/风险评分(多项指标,-1 表示该站点不适用) |
|
测试示例 (Test Example)
List all sites, then get devices for one:
{
"method": "tools/call",
"params": { "name": "connectwise_command_get_sites", "arguments": {} }
}Equivalent curl against the running server (streamable HTTP MCP endpoint):
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": {} }
}'A month/year-based resource:
{
"method": "tools/call",
"params": {
"name": "connectwise_command_get_cpu_utilization",
"arguments": { "site_code": "AGTSolutions", "month": 4, "year": 2015 }
}
}API Reference
Official docs (ITSupport247 portal, Admin > Integration > Reporting API):
"Getting Started with the Reporting API"
"Reporting API REST Resources" (full per-resource request/response schemas — source of every field name in this server)
Implementation Notes
Trimmed twice: 41 tools (full API) → 21 tools on 2026-08-04 (MSPbots' actually-configured 19 endpoints plus the small always-kept Sites/Devices/ Agent/System categories) → 18 tools on 2026-08-26 (removed
get_patch_summary_by_resource/get_patch_summary_by_state/get_warranty_details— see Tool List above for why). See the Tool List section for the full rationale each time. If a removed tool is needed later, the official Reporting API doc (linked below) still documents it and it can be re-added the same way the kept tools were generated; git history has every removed tool's implementation verbatim.Error shape varies by resource — some responses use
"Error"(capital, e.g. Agent Details), most use"error"(lowercase, e.g. Antivirus Summary), and the position in the response varies (top, bottom, or nested per-item).ContinuumClient._parsechecks both casings.GET resources (
Sites,Devices) return a bare JSON array, not an object with anerrorkey.Request field name
MachineID(used in the request body for Antivirus Version Summary, Installed Software, System Information) differs in casing from the response fieldMachineId— both confirmed verbatim from the official doc.get_site_installation_package-equivalent functionality does not exist for this API; not applicable here (unlike N-able RMM).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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
Provide seamless access to Appfolio Property Manager Reporting API through a standardized MCP serv…
GunBroker MCP Pack — wraps the GunBroker firearms-marketplace API.
Authenticated MCP server for ClearPolicy policy and compliance workflows.
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Related MCP Servers
- AlicenseBqualityCmaintenanceExposes N-able N-central REST API as MCP tools for managing devices, organizations, users, and more, with support for read-only, write, and full write modes.825MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseNot gradedqualityBmaintenanceExposes ConnectWise Platform APIs as MCP tools, enabling management of companies, contacts, devices, policies, patches, and tickets through natural language.Apache 2.0
- FlicenseNot gradedqualityBmaintenanceExposes 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.-
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/MSPbotsAI/connectwise-command-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server