Skip to main content
Glama

connectwise-asio-mcp

ConnectWise Asio MCP server — exposes the ConnectWise Platform APIs (the "Current API" behind ConnectWise Asio, formerly SolarWinds MSP/N-central-adjacent RMM) as MCP tools.

Naming note: app.mspbots.ai calls this integration "ConnectWise Asio" (sys_integration.subject_code = CWASIO). It is a distinct product from ConnectWise Command (Continuum), ConnectWise Manage (PSA), and ConnectWise Automate — each has its own MCP server in this fleet. The underlying API is officially named "ConnectWise Platform APIs" in its OpenAPI spec (developer.connectwise.com — "REST API" doc under Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks).

Overview

This server implements the Model Context Protocol (Streamable HTTP/SSE transport) and wraps the ConnectWise Platform APIs — 15 tools across 4 categories (devices, companies_contacts, patching, automation), trimmed to the core MSP RMM workflow: find a company/site, find its devices, check device health and patch status (see Tool List below; originally a full-API build of 107 operations across 24 tag categories, then a 25-tool MSPbots-configured-endpoints trim, then this 15-tool core-workflow trim on 2026-08-26 — see Known Gaps for what was cut and why). It follows the MSPbots Vendor MCP Service SOP: stateless, no stored credentials, per-request header authentication.

The underlying API authenticates via OAuth2 Client Credentials. This server does not perform the token exchange itself — it receives an already-obtained bearer access token per request (matching how other OAuth-flow integrations, e.g. Microsoft Graph, are handled in this MSPbots MCP fleet: the gateway mints/refreshes the token from client_id/client_secret/scope, and only the resulting token reaches this server).

Related MCP server: mcp-connectwise-psa

Quick Start

docker compose up --build

The server starts on http://localhost:8080.

Local (uv)

uv sync
python -m connectwise_asio_mcp

Health 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 headers:

Header

类型

是否必填

默认值

枚举值

字段描述

Example

X-ConnectWise-Asio-Token

string

必填

无(自由文本)

OAuth2 bearer access token,由调用方(Agent Platform / 上游网关)通过 POST /v1/token(client_credentials grant,需 client_id + client_secret + scope)预先换取并负责刷新。本服务从不接触 client_id/client_secret,只转发已获取的 token。

X-ConnectWise-Asio-Token: <access_token>

X-ConnectWise-Asio-Base-Url

string

可选

CONNECTWISE_ASIO_BASE_URL 环境变量(默认 https://openapi.service.itsupport247.net)

https://openapi.service.itsupport247.net(NA)、https://openapi.service.euplatform.connectwise.com(EU)、https://openapi.service.auplatform.connectwise.com(AU)

ConnectWise Asio 按账号所属地区分 3 个独立服务器(Client ID 前缀 0e30=NA/0e31=EU/0e32=AU 可判断地区);不带该 header 时用环境变量默认值,网关同时服务多地区租户时按请求覆盖。

X-ConnectWise-Asio-Base-Url: https://openapi.service.euplatform.connectwise.com

Missing X-ConnectWise-Asio-Token returns 401 Unauthorized.

Environment Variables

Variable

Default

Description

MCP_HTTP_PORT

8080

Listening port

MCP_HTTP_HOST

0.0.0.0

Listening host

CONNECTWISE_ASIO_BASE_URL

https://openapi.service.itsupport247.net

Default regional server; override per-request with X-ConnectWise-Asio-Base-Url

MCP Endpoint

POST http://localhost:8080/mcp

Connect your MCP client with:

  • Transport: http (Streamable HTTP / SSE)

  • Headers: X-ConnectWise-Asio-Token: <access_token> (required), X-ConnectWise-Asio-Base-Url: <base_url> (optional)

Tool List

15 tools. History: an original 104-tool full-API build (covering every ConnectWise Platform APIs operation) was trimmed on 2026-08-04 to 25 tools matching MSPbots' actually-configured 23 endpoints. On 2026-08-26, a further trim to these 15 tools extracted the core MSP RMM workflow — find a company/site, find its devices, check device health and patch status — after an intent-matching test pass found the removed tools added surface area (and real description/schema gaps) without matching real usage. If a removed tool/category is needed later, the vendor's OpenAPI spec (linked below) still documents its exact operations and it can be re-added the same way the kept tools were generated; git history has the removed tools' implementations verbatim.

Removed in the 2026-08-26 trim (10 tools): the entire Custom Fields category (6 tools — config/metadata management, not core monitoring), connectwise_asio_create_company (the only write tool; client onboarding isn't an agent task — this server is now fully read-only), connectwise_asio_get_site (redundant with get_company_sites), connectwise_asio_get_endpoint_applications (software-inventory audit, niche), connectwise_asio_get_endpoint_system_state (overlapped with the cpu/memory/disk/services tools and had an ambiguous own description).

Known gap carried over from the original build: MSPbots configured two endpoints — "ConnectWise Asio Suspension" (GET /v2/alerting/suspensions) and "ConnectWise Asio Suspension Details" (GET /v2/alerting/suspensions/{ruleid}) — that have no corresponding tool in this server at all (the original 104-tool build's alerting category only ever implemented create/update/delete/post-incident operations, never a GET-suspension read). This predates both trims. See Known Gaps below.

Companies & Contacts (4)

Tool

Description

Params

connectwise_asio_get_companies

List all companies (clients) for the partner.

none

connectwise_asio_get_company

Get a company by ID.

company_id

connectwise_asio_get_company_sites

List all sites for a company.

company_id

connectwise_asio_get_sites

List all sites for the partner (across all companies).

none

Devices & Endpoints (7)

Tool

Description

Params

connectwise_asio_list_endpoints

List devices (endpoints) for a given category, scoped to specific resources — the entry point for device discovery.

category, resource_type, resources, limit, cursor, sort_by?, field?, filter?

connectwise_asio_get_endpoint

Get full details of a specific endpoint (device). Needs company_id/site_id/endpoint_id already known — use list_endpoints first.

company_id, site_id, endpoint_id, field?

connectwise_asio_get_endpoint_services

Get service (Windows service / daemon) details for an endpoint. Needs all 3 IDs already known.

company_id, site_id, endpoint_id, service_name?, field?

connectwise_asio_get_endpoint_cpu_usage

Get the latest CPU usage for an endpoint.

endpoint_id

connectwise_asio_get_endpoint_disk_usage

Get the latest disk usage for an endpoint.

endpoint_id

connectwise_asio_get_endpoint_memory_usage

Get the latest memory usage for an endpoint.

endpoint_id, minute?

connectwise_asio_get_endpoint_heartbeat

Get online/offline availability information for devices (bulk).

resource_type, resources, offline_lookback?, availability?

Patching (3)

Tool

Description

Params

connectwise_asio_get_endpoint_patches

Get the list of OS patches for an endpoint.

endpoint_id

connectwise_asio_get_os_patch_compliance_summary

Get bulk OS patch compliance summary for a set of resources.

resource_type, resources, limit, cursor, field?

connectwise_asio_get_os_patch_details

Get bulk OS patch details for a set of endpoints.

resource_type, resources, field?

Automation (1)

Tool

Description

Params

connectwise_asio_get_automation_tasks

Get all automation tasks for the partner.

none

测试示例 (Test Example)

Get a company list, then its sites:

{
  "method": "tools/call",
  "params": { "name": "connectwise_asio_get_companies", "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-Asio-Token: <access_token>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": { "name": "connectwise_asio_get_companies", "arguments": {} }
  }'

A parameterized call:

{
  "method": "tools/call",
  "params": {
    "name": "connectwise_asio_get_endpoint_cpu_usage",
    "arguments": { "endpoint_id": "abc-123" }
  }
}

API Reference

  • Official docs (ConnectWise Developer Network — requires login): Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks > REST API

  • Base URLs: NA https://openapi.service.itsupport247.net, EU https://openapi.service.euplatform.connectwise.com, AU https://openapi.service.auplatform.connectwise.com

Known Gaps / Not Yet Verified

  • Trimmed twice: 104 tools (full API spec) → 25 tools on 2026-08-04 (MSPbots' actually-configured endpoints) → 15 tools on 2026-08-26 (core RMM workflow only — see Tool List above for exactly what was cut each time and why). If a removed tool/category is needed later, the vendor's OpenAPI spec (linked below) still documents its exact operations and it can be re-added the same way the kept tools were generated; git history has every removed tool's implementation verbatim.

  • MSPbots' configured "Suspension"/"Suspension Details" endpoints have no corresponding tool — this gap predates both trims (the original 104-tool build's alerting category never implemented a GET-suspension read operation, only create/update/delete/post-incident). If suspension data is actually needed, this would need to be added from the vendor's OpenAPI spec.

  • Not yet tested against a live ConnectWise Asio account — only protocol-level verification (health check, 401 on missing token, tools/list returning all 15 tools) plus an intent-matching test pass (real dispatch against a local server with a dummy token — confirms tool/argument selection, not live API behavior) has been done so far.

  • This server is now fully read-only (both write tools — create_company, update_company_custom_fields — were removed in the 2026-08-26 trim).

  • connectwise_asio_get_os_patch_compliance_summary's resource_type accepting values other than "endpoints" (e.g. a company/site-level rollup) is unverified — the vendor's docs are behind a login wall. Its sibling connectwise_asio_get_os_patch_details is confirmed endpoints-only.

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for ConnectWise PSA (Manage) enabling ticket management, time entry, and read-only lookups of companies, contacts, and configurations with role-based access control and bring-your-own-API-keys support.
    459
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Exposes the ConnectWise Command (Continuum) ITSupport247 Reporting API as MCP tools, enabling querying of sites, devices, patches, antivirus, performance, and more.
    Apache 2.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Exposes 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

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-asio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server