https://github.com/wyre-technology/connectwise-automate-mcp
MCP server for ConnectWise Automate (RMM) — computer management, patching, scripting, and monitoring tools for AI assistants
https://github.com/wyre-technology/connectwise-automate-mcp
ai-tools claude connectwise-automate mcp mcp-server model-context-protocol msp msp-mcp typescript wyre-technology
Last synced: 10 days ago
JSON representation
MCP server for ConnectWise Automate (RMM) — computer management, patching, scripting, and monitoring tools for AI assistants
- Host: GitHub
- URL: https://github.com/wyre-technology/connectwise-automate-mcp
- Owner: wyre-technology
- License: apache-2.0
- Created: 2026-02-05T16:16:21.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-06-02T14:33:26.000Z (10 days ago)
- Last Synced: 2026-06-02T15:25:09.777Z (10 days ago)
- Topics: ai-tools, claude, connectwise-automate, mcp, mcp-server, model-context-protocol, msp, msp-mcp, typescript, wyre-technology
- Language: TypeScript
- Homepage: https://mcp.wyretechnology.com/mcp-servers/connectwise-automate/
- Size: 995 KB
- Stars: 0
- Watchers: 0
- Forks: 3
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# 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, every `npm install` needs a
> token. The cloud builder runs `npm install` for you, so you must give it one, or
> the build fails with `npm error 401 Unauthorized ... npm.pkg.github.com`.
>
> 1. Create a GitHub **Personal Access Token** with the `read:packages` scope
> ([classic token](https://github.com/settings/tokens/new?scopes=read:packages&description=connectwise-automate-mcp%20deploy)).
> Any GitHub account works — you do **not** need to be a member of the
> `wyre-technology` org to read its public packages.
> 2. Add it as a build variable when prompted by the deploy flow:
> - **Cloudflare Workers** → set a build variable named **`NODE_AUTH_TOKEN`** to your PAT
> (Workers → Settings → Build → Variables and Secrets).
> - **DigitalOcean App Platform** → set an encrypted env var named **`GITHUB_TOKEN`**
> with scope **Build Time** to your PAT (the `.do/deploy.template.yaml` already declares it).
[](https://cloud.digitalocean.com/apps/new?repo=https://github.com/wyre-technology/connectwise-automate-mcp/tree/main)
[](https://deploy.workers.cloudflare.com/?url=https://github.com/wyre-technology/connectwise-automate-mcp)
> [!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-technology/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
## Installation
This package is published to the **GitHub Packages** npm registry, which requires a
token even for public packages. Authenticate once, then install:
```bash
# 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-technology/connectwise-automate-mcp
```
The repo's `.npmrc` already points the `@wyre-technology` 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 |
| `CW_AUTOMATE_CLIENT_ID` | Yes | Integrator Client ID |
| `CW_AUTOMATE_USERNAME` | Yes | Integrator username or user credentials |
| `CW_AUTOMATE_PASSWORD` | Yes | Integrator password or user password |
| `CW_AUTOMATE_2FA_CODE` | No | Two-factor authentication code (if required) |
## Usage
### As an MCP Server
Add to your Claude configuration:
```json
{
"mcpServers": {
"connectwise-automate": {
"command": "npx",
"args": ["@wyre-technology/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:
1. Use `cwautomate_navigate` to select a domain (computers, clients, alerts, scripts)
2. Domain-specific tools become available
3. Use `cwautomate_back` to return to the main menu
### Available Domains
#### Computers
- List computers with filtering options
- Get computer details
- Search computers by name or criteria
- 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
```bash
# 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