CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
wyre-technology avatar

ConnectWise Automate

wyre-technology/connectwise-automate-mcp
1authSTDIOregistry active
Summary

Connects Claude to ConnectWise Automate's RMM platform through a decision tree navigation pattern. You navigate into specific domains (computers, clients, alerts, scripts), then get access to the relevant operations like listing and rebooting machines, acknowledging alerts, or executing scripts remotely. The lazy loading approach means handlers only initialize when you enter a domain, which keeps things lean. Requires your Automate server URL and integrator credentials (supports 2FA if needed). Reach for this when you're managing MSP infrastructure through ConnectWise and want Claude to handle routine tasks like checking computer status, creating clients, or running maintenance scripts across your fleet.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

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-ai/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). Any GitHub account works — you do not need to be a member of the WYRE-AI 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).

Deploy to DO

Deploy to Cloudflare Workers

[!NOTE] The DigitalOcean target builds the full Docker image and runs the complete MCP server over HTTP — this is the recommended path for operators. Set CONDUIT_S2S_SECRET (and the CW_AUTOMATE_* secrets) before the first boot; HTTP mode exits if the S2S secret is missing. The template sets AUTH_MODE=env for that single-tenant deploy. This repo has no supported Cloudflare Workers 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_get renders as a read-only interactive card in MCP Apps hosts (Claude Desktop/web); neutral by default, brandable via window.__BRAND__ injection or MCP_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

Copy .env.example and set the variables below. The stdio transport reads CW_AUTOMATE_* and does not use CONDUIT_S2S_SECRET.

VariableRequiredDescription
CW_AUTOMATE_SERVER_URLFor stdio and AUTH_MODE=envConnectWise Automate server URL (e.g. https://your-server.hostedrmm.com)
CW_AUTOMATE_CLIENT_IDFor stdio and AUTH_MODE=envConnectWise Automate Client ID
CW_AUTOMATE_USERNAMEFor stdio and AUTH_MODE=envIntegrator username or user login
CW_AUTOMATE_PASSWORDFor stdio and AUTH_MODE=envIntegrator password or user password
CW_AUTOMATE_2FA_CODENoTwo-factor authentication code (forces user authentication)
CW_AUTOMATE_AUTH_METHODNointegrator (default) or user
MCP_TRANSPORTNostdio (default) or http
AUTH_MODENogateway (Docker image and Compose default) or env. Gateway mode requires X-CWA-Server, X-CWA-Client-ID, X-CWA-Username, and X-CWA-Password on each /mcp request and never falls back to CW_AUTOMATE_*. env uses those variables only after S2S auth succeeds.
CONDUIT_S2S_SECRETYes for HTTPService-to-service secret. Generate with openssl rand -hex 32. The HTTP server logs an error and exits non-zero when this is empty or a known placeholder (replace-with-a-real-secret, changeme, and the other example values). The value is never logged. Compose will not start without it. Never commit a real value.
MCP_ALLOW_INSECURE_DEVNoSet to exactly 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning and does not enforce X-Gateway-S2S. The listener is forced to 127.0.0.1; a wider MCP_HTTP_HOST (including 0.0.0.0) is ignored and the override is logged. A placeholder secret still refuses to start.
MCP_HTTP_HOSTNoBind address when MCP_TRANSPORT=http and CONDUIT_S2S_SECRET is set. Defaults to 127.0.0.1. The container image sets 0.0.0.0.
MCP_HTTP_PORTNoHTTP port. Defaults to 8080.

/health stays unauthenticated and does not read credentials.

HTTP authentication

With MCP_TRANSPORT=http and a real CONDUIT_S2S_SECRET, every /mcp request must include X-Gateway-S2S. The header value is t=<unix seconds>,v1=<hex>, where the hex is HMAC-SHA256 of the literal string t=<unix seconds> keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before vendor credentials are read.

TS=$(date +%s)
SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}')
curl -sS http://127.0.0.1:8080/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-Gateway-S2S: t=${TS},v1=${SIG}" \
  -H "X-CWA-Server: https://your-server.hostedrmm.com" \
  -H "X-CWA-Client-ID: your-client-id" \
  -H "X-CWA-Username: your-username" \
  -H "X-CWA-Password: your-password" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

In AUTH_MODE=gateway, those X-CWA-* headers are the only credential source (X-CWA-2FA and X-CWA-Auth-Method are optional). A request missing any required header is HTTP 401 and does not use CW_AUTOMATE_* from the environment. With AUTH_MODE=env, the signed request uses the CW_AUTOMATE_* variables instead.

Docker

The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode, Automate credentials arrive on each request as headers; they are not read from the environment.

docker build -t connectwise-automate-mcp .
docker run \
  -e CONDUIT_S2S_SECRET=your-s2s-secret \
  -p 127.0.0.1:8080:8080 \
  connectwise-automate-mcp

Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, does not inject CW_AUTOMATE_*, and publishes 127.0.0.1:8080:8080:

CONDUIT_S2S_SECRET=your-s2s-secret docker compose up

Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses CW_AUTOMATE_*:

docker run \
  -e CONDUIT_S2S_SECRET=your-s2s-secret \
  -e AUTH_MODE=env \
  -e CW_AUTOMATE_SERVER_URL=https://your-server.hostedrmm.com \
  -e CW_AUTOMATE_CLIENT_ID=your-client-id \
  -e CW_AUTOMATE_USERNAME=your-username \
  -e CW_AUTOMATE_PASSWORD=your-password \
  -p 127.0.0.1:8080:8080 \
  connectwise-automate-mcp

Local HTTP without a secret is development-only. It binds 127.0.0.1 only and logs a warning. A non-loopback MCP_HTTP_HOST is overridden to 127.0.0.1:

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 node dist/index.js

The DigitalOcean App Platform template is single-tenant: it sets AUTH_MODE=env so the CW_AUTOMATE_* secrets stay the credential source, and it declares CONDUIT_S2S_SECRET. Set that secret in the App Platform UI or the container exits on boot.

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:

  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
  • 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 (read-only in the Automate API)
  • Get alert details
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

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

Configuration

CW_AUTOMATE_SERVER_URL*

ConnectWise Automate server URL (e.g. https://your-server.hostedrmm.com)

CW_AUTOMATE_CLIENT_ID*secret

ConnectWise Automate integrator client ID

CW_AUTOMATE_USERNAME*

Integrator username or user credential

CW_AUTOMATE_PASSWORD*secret

Integrator password or user password

CW_AUTOMATE_2FA_CODEsecret

Two-factor authentication code, if required by the account

MCP_TRANSPORTdefault: stdio

Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.

AUTH_MODEdefault: env

Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.

LOG_LEVELdefault: info

Log verbosity: debug, info, warn, error

Categories
Automation & Workflows
Registryactive
Packageghcr.io/wyre-technology/connectwise-automate-mcp:v1.5.6
TransportSTDIO
AuthRequired
UpdatedJun 2, 2026
View on GitHub

More from wyre-technology

  • HaloPSA1
  • SuperOps1
  • Xero1
  • Huntress1
  • ThreatLocker1
  • Abnormal Security
  • Alternative Payments
  • Auvik
  • Avanan MSP (Legacy SmartAPI)
  • Blumira
  • Crewhu
  • Datto BCDR
  • Domotz
  • IQMS / DELMIA Apriso
  • Ironscales
  • Kaseya BMS
  • Kaseya Quote Manager
  • Kaseya VSA
  • KnowBe4
  • Liongard
  • Mimecast
  • Proofpoint
  • RocketCyber
  • SpamTitan

Related Automation & Workflows MCP Servers

View all →
billylui avatar
Temporal Cortex Calendar MCP

billylui/temporal-cortex-mcp

12 deterministic calendar tools — temporal context, scheduling, availability, and booking
csoai-org avatar
Cron Ai Mcp

csoai-org/cron-ai-mcp

cron-ai-mcp MCP server by MEOK AI Labs
csoai-org avatar
Email Automation Mcp

csoai-org/email-automation-mcp

email-automation-mcp MCP server by MEOK AI Labs
csoai-org avatar
Regulatory Webhook Mcp

csoai-org/regulatory-webhook-mcp

MCP server for regulatory webhook. Features subscribe, get recent changes, check for updates. From M
csoai-org avatar
Webhook Ai Mcp

csoai-org/webhook-ai-mcp

Webhook Ai tools for AI agents. Capabilities: validate webhook signature, log webhook event, replay
dbsectrainer avatar
Mcp Data Pipeline Connector

dbsectrainer/mcp-data-pipeline-connector

Universal data connector for CSV, Postgres, and REST APIs via DuckDB