oci ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4stdioApache-2.0updated 8d ago
A Model Context Protocol (MCP) server for ConnectWise Automate with decision tree architecture for Claude.
What can you do with ConnectWise Automate?
ConnectWise Automate MCP Server
A Model Context Protocol (MCP) server for ConnectWise Automate with decision tree architecture for Claude.
One-Click Deployment
[!IMPORTANT] Before you click: this server depends on
@wyre-technology/node-connectwise-automate, which is hosted on the GitHub Packages npm registry. GitHub Packages has no anonymous access — even though the package is public, everynpm installneeds a token. The cloud builder runsnpm installfor you, so you must give it one, or the build fails withnpm error 401 Unauthorized ... npm.pkg.github.com.
- Create a GitHub Personal Access Token with the
read:packagesscope (classic token). Any GitHub account works — you do not need to be a member of theWYRE-AIorg to read its public packages.- Add it as a build variable when prompted by the deploy flow:
- Cloudflare Workers → set a build variable named
NODE_AUTH_TOKENto your PAT (Workers → Settings → Build → Variables and Secrets).- DigitalOcean App Platform → set an encrypted env var named
GITHUB_TOKENwith scope Build Time to your PAT (the.do/deploy.template.yamlalready declares it).
[!NOTE] The DigitalOcean target builds the full Docker image and runs the complete MCP server over HTTP — this is the recommended path for operators. This repo has no Cloudflare Workers entrypoint (
src/worker.ts), so the Workers button is not a supported target yet; prefer DigitalOcean or the prebuilt container image (ghcr.io/wyre-ai/connectwise-automate-mcp).
Features
- Decision Tree Architecture: Navigate between domains (computers, clients, alerts, scripts) to access relevant tools
- Lazy Loading: Client initialization and domain handlers are loaded on demand
- Comprehensive API Coverage: Manage computers, clients, alerts, and scripts
- Interactive Device Card (MCP Apps):
cwautomate_computers_getrenders as a read-only interactive card in MCP Apps hosts (Claude Desktop/web); neutral by default, brandable viawindow.__BRAND__injection orMCP_BRAND_*env vars; plain-JSON behavior is unchanged in other hosts
Installation
This package is published to the GitHub Packages npm registry, which requires a token even for public packages. Authenticate once, then install:
# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token) # or a PAT with read:packages
npm install @wyre-ai/connectwise-automate-mcp
The repo's .npmrc already points the @wyre-ai scope at GitHub Packages and
reads the token from NODE_AUTH_TOKEN, so no further config is needed.
Configuration
Set the following environment variables:
| Variable | Required | Description |
|---|---|---|
CW_AUTOMATE_SERVER_URL |
Yes | Your ConnectWise Automate server URL (e.g. https://your-server.hostedrmm.com) |
CW_AUTOMATE_CLIENT_ID |
Yes | ConnectWise Automate Client ID |
CW_AUTOMATE_USERNAME |
Yes | Integrator username or user login |
CW_AUTOMATE_PASSWORD |
Yes | Integrator password or user password |
CW_AUTOMATE_2FA_CODE |
No | Two-factor authentication code (forces user authentication) |
CW_AUTOMATE_AUTH_METHOD |
No | integrator (default) or user |
Authentication methods
The server supports both ConnectWise Automate authentication methods:
integrator(default) – machine-to-machine integrator account. Recommended for automation. Does not use 2FA.user– interactive user login, which can supply a two-factor code.
You normally don't need to set CW_AUTOMATE_AUTH_METHOD: integrator auth is used by
default, and user auth is selected automatically when CW_AUTOMATE_2FA_CODE is
provided.
Usage
As an MCP Server
Add to your Claude configuration:
{
"mcpServers": {
"connectwise-automate": {
"command": "npx",
"args": ["@wyre-ai/connectwise-automate-mcp"],
"env": {
"CW_AUTOMATE_SERVER_URL": "https://your-server.hostedrmm.com",
"CW_AUTOMATE_CLIENT_ID": "your-client-id",
"CW_AUTOMATE_USERNAME": "your-username",
"CW_AUTOMATE_PASSWORD": "your-password"
}
}
}
}
Navigation
The server uses a decision tree pattern. Start by navigating to a domain:
- Use
cwautomate_navigateto select a domain (computers, clients, alerts, scripts) - Domain-specific tools become available
- Use
cwautomate_backto return to the main menu
Available Domains
Computers
- List computers with filtering options
- Get computer details
- Search computers by name
- Reboot computers remotely
- Run scripts on computers
Clients
- List all clients
- Get client details
- Create new clients
- Update existing clients
Alerts
- List alerts with filtering
- Get alert details
- Acknowledge alerts
Scripts
- List available scripts
- Get script details
- Execute scripts on computers
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Type check
npm run typecheck
# Lint
npm run lint
License
Apache-2.0
Install
Add ConnectWise Automate to your client. Pick the one you use.
claude mcp add ghcr-io-wyre-ai-connectwise-automate-mcp -- docker run -i --rm ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4codex mcp add ghcr-io-wyre-ai-connectwise-automate-mcp -- docker run -i --rm ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4amp mcp add ghcr-io-wyre-ai-connectwise-automate-mcp -- docker run -i --rm ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4{
"mcpServers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"ghcr-io-wyre-ai-connectwise-automate-mcp","command":"docker","args":["run","-i","--rm","ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"type": "local",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"ghcr-io-wyre-ai-connectwise-automate-mcp": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4"
]
}
}
}
}Add to your Zed `settings.json`.
docker run -i --rm ghcr.io/wyre-ai/connectwise-automate-mcp:v1.8.4Run `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 0 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.8.4Latest | Aug 28, 2026 |
| 1.8.3 | Aug 26, 2026 |