ConnectWise Automate MCP
MCPB · CONNECTWISE-AUTOMATE-MCP.MCPB
Sync your ConnectWise Automate fleet to local SQLite and answer cross-client RMM questions offline.
Available components
Last scanned (9 hours ago)
Scores higher than 86% of MCPB servers
Category Monitoring and Observability
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 12 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 9889 tokens (~186/item across 53 items; 53 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
- Stability check failed: the tool surface changed between 0.1.3 and 0.1.7: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 53 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Package version: 0.1.3 → 0.1.7 functional
- 31 Oct 26 +2
- Maintenance: unverified → pass ▲ functional
- 30 Oct 26 0
- Provenance: unverified → fail ▼ security
- 29 Oct 26 −1
- Provenance: fail → unverified ▼ security
- Maintenance: pass → unverified ▼ functional
- 28 Oct 26 +1
- Package version: 0.1.3 → 0.1.7 functional
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 79 to 82.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 72 to 76.
- 23 Oct 26 0
- Stability: 0.70 → fail ▼ security
- Schema quality: excellent → good functional
- Package version: 0.1.5 → 0.1.7 functional
- Package version: 0.1.5 → 0.1.6 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/connectwise-automate-v0.1.7/connectwise-automate-mcp.mcpb@0.1.7
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
alert_triage ~539
Filter open alerts to those at or above --min-priority, resolve each to its computer, location, and client, collapse duplicate (computer, message) pairs to the highest-priority instance, and rank priority-first. The cross-client triage the per-monitor Automate view can't do. Reads the local SQLite mirror — run 'sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| min-priority | number | – | Only include alerts at or above this priority (higher = more severe) (default: 0) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
alerts_get ~32
Get a single alert by Id. Required: id. Returns the Alert.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Alert Id |
No output schema declared.
No examples provided.
alerts_list ~99
List open alerts across all computers. Optional: page (default: 1), page-size (default: 100), condition (plus 1 more). Returns array of Alert.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression, e.g. 'Priority>=3' |
| order-by | string | – | Sort expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
analytics ~499
Analyze locally synced data with count, group-by, and summary operations. Data must be synced first with the sync command.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| group-by | string | – | Field to group by |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Max groups to show (default: 25) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| type | string | – | Resource type to analyze |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
apitoken_mint ~88
Mint a bearer token from username + password (needs CONNECTWISE_AUTOMATE_SERVER + clientId header). Required: username, password. Optional: two-factor. Returns the new TokenResult. (public)
| Name | Type | Req | Description |
|---|---|---|---|
| password | string | yes | Automate password |
| two-factor | string | – | 2FA passcode (if enabled) |
| username | string | yes | Automate username |
No output schema declared.
No examples provided.
apitoken_refresh ~42
Refresh an existing (still-valid) bearer token. Required: token. Returns the new TokenResult.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | Current bearer token to refresh |
No output schema declared.
No examples provided.
client_rollup ~518
One row per client: computers, locations, offline agents, and open alerts — the snapshot for a client review meeting. Pass an optional [client] substring to narrow to matching clients (case-insensitive); omit it for the whole book. Reads the local SQLite mirror — run 'sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
clients_get ~32
Get a single client by Id. Required: id. Returns the Client.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Client Id |
No output schema declared.
No examples provided.
clients_list ~88
List all clients. Optional: page (default: 1), page-size (default: 100), condition (plus 1 more). Returns array of Client.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| order-by | string | – | Sort expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
commands_get ~32
Get a single command by Id. Required: id. Returns the Command.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Command Id |
No output schema declared.
No examples provided.
commands_list ~74
List all available commands. Optional: page (default: 1), page-size (default: 100), condition. Returns array of Command.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
computers_alerts ~33
Open alerts for one computer. Required: id. Returns array of Alert.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Computer Id |
No output schema declared.
No examples provided.
computers_command-execute ~78
Execute a command on one computer (WRITE — runs a real command on the agent). Required: id, command-id. Optional: parameters. Returns the new CommandHistory.
| Name | Type | Req | Description |
|---|---|---|---|
| command-id | number | yes | Command Id (see `commands list`) |
| id | number | yes | Computer Id |
| parameters | string | – | Command parameters string |
No output schema declared.
No examples provided.
computers_command-history ~36
Recent command execution history for one computer. Required: id. Returns array of CommandHistory.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Computer Id |
No output schema declared.
No examples provided.
computers_get ~32
Get a single computer by Id. Required: id. Returns the Computer.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Computer Id |
No output schema declared.
No examples provided.
computers_list ~122
List computers across the fleet (paginated, filterable). Optional: page (default: 1), page-size (default: 100), condition (plus 1 more). Returns array of Computer.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression, e.g. 'Status='Online'' or 'Client.Name like '%Acme%'' |
| order-by | string | – | Sort expression, e.g. 'ComputerName asc' |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
computers_patching-stats ~37
Patch installation statistics for one computer. Required: id. Returns the PatchingStats.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Computer Id |
No output schema declared.
No examples provided.
computers_software ~34
Installed software inventory for one computer. Required: id. Returns array of Software.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Computer Id |
No output schema declared.
No examples provided.
contacts_list ~74
List all client contacts. Optional: page (default: 1), page-size (default: 100), condition. Returns array of Contact.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
context ~29
Get API domain context: resource taxonomy, auth requirements, query tips, and unique capabilities. Call this first.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
fleet_health ~533
Roll every computer in the local mirror up per client: total agents, online, offline, stale (no contact in --stale-days), and open-alert count. One board the per-server Automate UI scatters across separate screens. Reads the local SQLite mirror — run 'sync' first. Output is JSON; pair with --agent for agent-friendly defaults.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| stale-days | number | – | Days without contact before a computer counts as stale (default: 7) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
groups_get ~32
Get a single group by Id. Required: id. Returns the Group.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Group Id |
No output schema declared.
No examples provided.
groups_list ~73
List all groups. Optional: page (default: 1), page-size (default: 100), condition. Returns array of Group.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
import ~517
Import data from a JSONL file by issuing POST requests for each record. Each line must be a valid JSON object. Failed records are logged to stderr but do not stop the import.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| batch-size | number | – | Records per batch (future: batch API support) (default: 1) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Preview import without sending requests (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
locations_get ~32
Get a single location by Id. Required: id. Returns the Location.
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Location Id |
No output schema declared.
No examples provided.
locations_list ~88
List all locations. Optional: page (default: 1), page-size (default: 100), condition (plus 1 more). Returns array of Location.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| order-by | string | – | Sort expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
monitors_list ~77
List monitors with their alerting statistics. Optional: page (default: 1), page-size (default: 100), condition. Returns array of Monitor.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
monitors_sensor-checks ~19
List sensor checks. Returns array of Monitor.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
network-devices_list ~77
List discovered network devices. Optional: page (default: 1), page-size (default: 100), condition. Returns array of NetworkDevice.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
os_inventory ~533
Group every computer by operating system with a count and an end-of-life flag (Windows 7/8/XP/Vista/2000, Server 2003/2008/2012). Pass --eol-only to see just the exposure. Fleet-wide OS posture for security and hardware-refresh planning. Reads the local SQLite mirror — run 'sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| eol-only | boolean | – | Show only end-of-life operating systems (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
patch_compliance ~508
Group synced patch history by client (joined computer -> client) and compute a per-client compliance percentage (installed / total), worst compliance first. The Automate API only exposes per-computer patch stats; this is the cross-client roll-up for a QBR or a security conversation. Reads the local SQLite mirror — run 'sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
patching_approval-policies ~22
Patch approval policies. Returns array of PatchPolicy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
patching_deploy-approved ~53
Deploy all approved patches (WRITE — triggers fleet patch deployment). Optional: computer-ids. Returns the new PatchActionResult.
| Name | Type | Req | Description |
|---|---|---|---|
| computer-ids | string | – | Comma-separated computer Ids to target |
No output schema declared.
No examples provided.
patching_deploy-security ~53
Deploy all security patches (WRITE — triggers fleet patch deployment). Optional: computer-ids. Returns the new PatchActionResult.
| Name | Type | Req | Description |
|---|---|---|---|
| computer-ids | string | – | Comma-separated computer Ids to target |
No output schema declared.
No examples provided.
patching_information ~22
Global patch information / catalog status. Returns array of PatchInformation.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
patching_list ~92
Fleet-wide patch installation history. Optional: page (default: 1), page-size (default: 100), condition (plus 1 more). Returns array of PatchHistory.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| order-by | string | – | Sort expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
patching_microsoft-policies ~22
Microsoft update policies. Returns array of PatchPolicy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
patching_reattempt-failed ~55
Reattempt failed patches (WRITE — retries failed patch installs). Optional: computer-ids. Returns the new PatchActionResult.
| Name | Type | Req | Description |
|---|---|---|---|
| computer-ids | string | – | Comma-separated computer Ids to target |
No output schema declared.
No examples provided.
patching_thirdparty-policies ~24
Third-party update policies. Returns array of PatchPolicy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
scripts_list ~73
List all scripts. Optional: page (default: 1), page-size (default: 100), condition. Returns array of Script.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | string | – | Filter expression |
| page | number | – | 1-based page number |
| page-size | number | – | Items per page (max 1000) |
No output schema declared.
No examples provided.
scripts_running ~22
List scripts currently running across the fleet. Returns array of RunningScript.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
scripts_schedules ~20
List scheduled script runs. Returns array of ScriptSchedule.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
search ~64
Full-text search across all synced data. Faster than paginating list endpoints. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default 25) |
| query | string | yes | Search query (supports FTS5 syntax: AND, OR, NOT, quotes for phrases) |
No output schema declared.
No examples provided.
server_db-time ~19
Current database server time. Returns the ServerTime.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
server_info ~18
Server version and metadata. Returns the ServerInformation.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
since ~528
Summarize what happened across the fleet in the last --hours, derived from the records' own timestamps (no fabricated drift): alerts created in the window (highest priority first), the count of agents that checked in (last contact in the window), and the count of patches installed in the window. Reads the local SQLite mirror — run 'sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| hours | number | – | Look back this many hours (default: 24) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
sql ~93
Run read-only SQL against local database. Use for ad-hoc analysis, aggregations, and joins across synced resources. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | SQL query (SELECT or WITH...SELECT). Synced records live in resources(resource_type, id, data); filter by resource_type and use json_extract on data, e.g. SELECT json_extract(data,'$.name') FROM reso… |
No output schema declared.
No examples provided.
stale_agents ~517
List every computer whose last contact is older than --days (and agents that never reported a contact at all), most-stale first, with its owning client. The offline agents bleeding license and hiding risk. Reads the local SQLite mirror — run 'sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| days | number | – | A computer is stale when its last contact is older than this many days (default: 30) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
sync ~1,221
Sync data from the API into a local SQLite database. Supports resumable incremental sync (only fetches new data since last sync) and full resync. Once synced, use the 'search' command for instant full-text search. Exit codes & warnings: Resources the API denies access to (HTTP 403, or HTTP 400 with an access-policy body) are reported as warnings rather than failing the run. In --json mode each is emitted as a {"event":"sync_warning",...} line carrying status, reason, and message fields, and a final {"event":"sync_summary",...} aggregates the run. Exit 0 when at least one resource synced and no resource flagged in the spec as critical (x-critical: true) failed; non-critical failures emit {"event":"sync_warning","reason":"exit_policy_default_changed", ...} so callers can detect that a partial failure was tolerated. Pass --strict to exit non-zero on any per-resource failure. Exit is always non-zero when every selected resource failed, regardless of --strict. Resource scoping: --resources runs the named top-level resources, plus any parent-keyed dependent whose own name is listed OR whose parent table is listed. Naming a parent therefore cascades to its dependents (so "sync this parent and its children" works without listing every nested resource by hand). There is no flag today to suppress the cascade for a named parent. To run a dependent without re-syncing its parent, list only the dependent by name; the parent table must already be populated from a prior sync.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| concurrency | number | – | Number of parallel sync workers (default: 4) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| full | boolean | – | Full resync (ignore previous checkpoint) (default: false) |
| global-param | string | – | Extra query param to inject into every sync request including dependent path-scoped calls (repeatable, key=value). Use when an API requires a scope on every call regardless of path nesting. |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| latest-only | boolean | – | Refresh head of each resource only; clears resume cursor and caps pages at 1. Mutually exclusive with --since (--since wins). (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| max-pages | number | – | Maximum pages to fetch per resource (0 = unlimited; cap-hit emits a sync_warning event) (default: 0) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| param | string | – | Extra query param to inject into flat-list sync requests (repeatable, key=value). Skipped on path-scoped dependent requests so a top-level scope like workspace=<id> does not double up on /parents/<id… |
| path-context | string | – | Fill a {key} placeholder in BaseURL or request paths from a supplied value (repeatable, key=value). Wins over env-resolved Config.TemplateVars values, so it doubles as a one-off override at the call… |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| resource-param | string | – | Per-resource extra query param (repeatable, resource:key=value). Wins over --param and --global-param when keys conflict. |
| resources | string | – | Comma-separated resource types to sync. Naming a parent also runs its parent-keyed dependents (see Long help for scoping). |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| since | string | – | Incremental sync duration (e.g. 7d, 24h, 1w, 30m) |
| strict | boolean | – | Exit non-zero on any per-resource failure (default: only critical failures or all-resource failure exit non-zero). (default: false) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
tail ~564
Tail streams live data changes by polling the API at configurable intervals. Events are emitted as NDJSON to stdout for piping to other tools. Gracefully shuts down on SIGTERM/SIGINT. Note: For APIs with WebSocket or SSE support, a future version will use native streaming instead of polling.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| follow | boolean | – | Keep running (set --follow=false for single poll) (default: true) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| interval | string | – | Poll interval (default: 10s) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| resource | string | – | Resource type to tail |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
How do I install the ConnectWise Automate MCP server?
ConnectWise Automate MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, da014eeffff700a2c10a8d48608cb18cd6d9499952280cbdf72a68f983613c75; the commands to do that are on this page. If it does not match, do not open it.
mcpb · connectwise-automate-mcp.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
da014eeffff700a2c10a8d48608cb18cd6d9499952280cbdf72a68f983613c75
macOS / Linux
echo "da014eeffff700a2c10a8d48608cb18cd6d9499952280cbdf72a68f983613c75 connectwise-automate-mcp.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\connectwise-automate-mcp.mcpb).Hash -eq "da014eeffff700a2c10a8d48608cb18cd6d9499952280cbdf72a68f983613c75"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the ConnectWise Automate MCP server?
ConnectWise Automate MCP is listed in the public MCP registry as io.github.Servosity/connectwise-automate-mcp. Sync your ConnectWise Automate fleet to local SQLite and answer cross-client RMM questions offline. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/connectwise-automate-v0.1.7/connectwise-automate-mcp.mcpb).
Is the ConnectWise Automate MCP server safe to use?
ConnectWise Automate MCP scores 53 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the ConnectWise Automate MCP server expose?
ConnectWise Automate MCP exposes 53 tools: alert_triage, alerts_get, alerts_list, analytics, apitoken_mint, and 48 more. Their descriptions and schemas cost roughly 9,889 tokens of context every time the server is loaded.
What licence is the ConnectWise Automate MCP server under?
ConnectWise Automate MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.