Skip to main content
Glama

connectwise-asio-mcp

ConnectWise Asio MCP サーバー — ConnectWise Platform APIs(ConnectWise Asio の背後にある「Current API」。旧 SolarWinds MSP/N-central に隣接する RMM)を MCP ツールとして公開します。

命名に関する注記: app.mspbots.ai はこの統合を 「ConnectWise Asio」 と呼んでいます(sys_integration.subject_code = CWASIO)。これは ConnectWise Command (Continuum)、ConnectWise Manage (PSA)、ConnectWise Automate とは別製品であり、それぞれがこのフリート内に独自の MCP サーバーを持っています。基盤となる API は、その OpenAPI 仕様では正式に 「ConnectWise Platform APIs」 という名前です(developer.connectwise.com — Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks の下にある "REST API" ドキュメント)。

概要

このサーバーは Model Context Protocol(Streamable HTTP/SSE トランスポート)を実装し、ConnectWise Platform APIs をラップします。25 ツールは 5 カテゴリ(devices、companies_contacts、custom_fields、patching、automation)にわたり、MSPbots が実際に設定した 23 エンドポイントと最小限のコア CRUD に絞り込まれています(下記のツール一覧を参照。元々は 24 のタグカテゴリにわたる 107 オペレーションのフル API ビルドでした)。これは MSPbots の Vendor MCP Service SOP に従っています。すなわち、ステートレス、資格情報の保存なし、リクエストごとのヘッダー認証です。

基盤となる API は OAuth2 Client Credentials で認証します。このサーバーはトークン交換自体を行わず、リクエストごとに既に取得済みのベアラーアクセストークンを受け取ります(これは、この MSPbots MCP フリートで他の OAuth フロー統合(例: Microsoft Graph)が処理される方法と同じです。ゲートウェイが client_id/client_secret/scope からトークンを発行・更新し、このサーバーに届くのは結果のトークンのみです)。

Related MCP server: connectwise-command-mcp

クイックスタート

Docker(推奨)

docker compose up --build

サーバーは http://localhost:8080 で起動します。

ローカル (uv)

uv sync
python -m connectwise_asio_mcp

ヘルスチェック

curl http://localhost:8080/health
# {"status": "ok"}

ヘルスチェックエンドポイントにはトークンは不要です。

認証パラメータの説明 (Authentication)

/mcp へのすべてのリクエストには、次の HTTP ヘッダーを含める必要があります:

Header

型

必須

デフォルト値

列挙値

フィールドの説明

例

X-ConnectWise-Asio-Token

string

必須

なし

なし(自由テキスト)

OAuth2 ベアラーアクセストークン。呼び出し元(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 でリージョンを判断できます)。このヘッダーがない場合は環境変数のデフォルト値を使用します。ゲートウェイが複数リージョンのテナントを同時にサービスする場合は、リクエストごとに上書きされます。

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

X-ConnectWise-Asio-Token がない場合、401 Unauthorized を返します。

環境変数

変数

デフォルト

説明

MCP_HTTP_PORT

8080

待受ポート

MCP_HTTP_HOST

0.0.0.0

待受ホスト

CONNECTWISE_ASIO_BASE_URL

https://openapi.service.itsupport247.net

デフォルトのリージョンサーバー。X-ConnectWise-Asio-Base-Url でリクエストごとに上書きできます。

MCP エンドポイント

POST http://localhost:8080/mcp

MCP クライアントを次のように接続してください:

  • トランスポート: http(Streamable HTTP / SSE)

  • ヘッダー: X-ConnectWise-Asio-Token: <access_token>(必須)、X-ConnectWise-Asio-Base-Url: <base_url>(任意)

ツール一覧

25 ツール。これは、元となる 104 ツールのフル API ビルド(2026-08-04)から削減されたものです。MSPbots が保存しているこのベンダー向け統合設定は、6 つの基盤リソースカテゴリ(devices/endpoints、companies、sites、custom fields、patching、automation)にわたる 23 エンドポイントを呼び出します。この 23 の設定済みエンドポイントはすべて(ここでは同じツールに統合される個別の v1/v2 パスバリアントも含む)、対応するエンドポイント名が付けられた下記の維持ツールのいずれかにマッピングされます。元の 104 ツールビルドのその他すべて(Tickets — 24 ツールを擁する最大のカテゴリ、Policy/Policy Group/Package、Mapping、Alerting & Incidents、Backup Dashboard、Misc — の 6 カテゴリ、約 79 ツール)は、MSPbots が使用しないため削除されました。削除されたカテゴリが後で必要になった場合でも、ベンダーの OpenAPI 仕様(下記リンク)には正確なオペレーションが引き続き記載されており、維持ツールが生成されたのと同じ方法で再追加できます。

元のビルドから引き継がれた既知のギャップ: MSPbots は 2 つのエンドポイントを設定しています — 「ConnectWise Asio Suspension」(GET /v2/alerting/suspensions)と「ConnectWise Asio Suspension Details」(GET /v2/alerting/suspensions/{ruleid})— ですが、このサーバーには 対応するツールがまったくありません(元の 104 ツールビルドの alerting カテゴリは create/update/delete/post-incident オペレーションのみを実装しており、GET による suspension 読み取りは実装されていませんでした)。これは削減前から存在しており、削減によって生じたものではありません。ツール数が少なくなったことでより目立つため、ここで取り上げます。下記の Known Gaps を参照してください。

会社と連絡先 (6)

ツール

説明

パラメータ

connectwise_asio_create_company

新しい会社(クライアント)を作成します。

body

connectwise_asio_get_companies

パートナーのすべての会社(クライアント)を一覧表示します。

none

connectwise_asio_get_company

ID で会社を取得します。

company_id

connectwise_asio_get_company_sites

会社のすべてのサイトを一覧表示します。

company_id

connectwise_asio_get_site

ID でサイトを取得します(パートナー全体。会社にスコープされません)。

site_id

connectwise_asio_get_sites

パートナーのすべてのサイトを一覧表示します(全会社にわたる)。

none

カスタムフィールド (6)

ツール

説明

パラメータ

connectwise_asio_get_company_custom_fields

会社のカスタムフィールド値を取得します。

company_id, attribute_ids?, with_defaults?, origin_type?, owner_id?

connectwise_asio_get_custom_field_definition

ID でカスタムフィールド定義スキーマを取得します。

definition_id

connectwise_asio_get_custom_field_definitions

パートナーのカスタムフィールド定義の一覧を取得します(ベンダー提供およびパートナー定義)。

entity_type?, origin_type?

connectwise_asio_get_device_custom_fields

デバイス(エンドポイント)のカスタムフィールド値を取得します。

endpoint_id, attribute_ids?, with_defaults?, origin_type?, owner_id?

connectwise_asio_get_site_custom_fields

サイトのカスタムフィールド値を取得します。

site_id, attribute_ids?, with_defaults?, origin_type?, owner_id?

connectwise_asio_update_company_custom_fields

会社の複数のカスタムフィールド値を更新します。

company_id, body

デバイスとエンドポイント (9)

ツール

説明

パラメーター

connectwise_asio_get_endpoint

特定のエンドポイント(デバイス)の完全な詳細を取得します。

company_id, site_id, endpoint_id, field?

connectwise_asio_get_endpoint_applications

一連のエンドポイントのインストール済みアプリケーションの詳細を取得します。

resource_type, resources, limit, cursor, field?, name?, version?

connectwise_asio_get_endpoint_cpu_usage

エンドポイントの最新のCPU使用率を取得します。

endpoint_id

connectwise_asio_get_endpoint_disk_usage

エンドポイントの最新のディスク使用量を取得します。

endpoint_id

connectwise_asio_get_endpoint_heartbeat

デバイスのオンライン/オフラインの可用性情報を取得します。

resource_type, resources, offline_lookback?, availability?

connectwise_asio_get_endpoint_memory_usage

エンドポイントの最新のメモリ使用量を取得します。

endpoint_id, minute?

connectwise_asio_get_endpoint_services

エンドポイントのサービス(Windowsサービス / デーモン)の詳細を取得します。

company_id, site_id, endpoint_id, service_name?, field?

connectwise_asio_get_endpoint_system_state

エンドポイントのシステム状態情報(実行中のプロセス、サービスなど)を取得します。

endpoint_id

connectwise_asio_list_endpoints

特定のリソースにスコープして、指定されたカテゴリのデバイス(エンドポイント)を一覧表示します。

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

パッチ (3)

ツール

説明

パラメーター

connectwise_asio_get_endpoint_patches

エンドポイントのOSパッチの一覧を取得します。

endpoint_id

connectwise_asio_get_os_patch_compliance_summary

一連のリソースのOSパッチのコンプライアンスサマリーを一括取得します。

resource_type, resources, limit, cursor, field?

connectwise_asio_get_os_patch_details

一連のエンドポイントのOSパッチの詳細を一括取得します。

resource_type, resources, field?

自動化 (1)

ツール

説明

パラメーター

connectwise_asio_get_automation_tasks

パートナーのすべての自動化タスクを取得します。

なし

テスト例 (Test Example)

会社の一覧を取得し、次にそのサイトを取得します:

{
  "method": "tools/call",
  "params": { "name": "connectwise_asio_get_companies", "arguments": {} }
}

実行中のサーバーに対する同等の curl(ストリーミング可能なHTTP MCPエンドポイント):

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": {} }
  }'

パラメーター化された呼び出し:

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

APIリファレンス

  • 公式ドキュメント(ConnectWise Developer Network — ログインが必要):Products > ConnectWise Platform > Platform Vendors > APIs and Callbacks > REST API

  • ベースURL: NA https://openapi.service.itsupport247.net, EU https://openapi.service.euplatform.connectwise.com, AU https://openapi.service.auplatform.connectwise.com

既知のギャップ / 未検証

  • 2026-08-04に104ツールから25ツールに削減されました。 元のビルドは、以前のスコープ決定に従って、ConnectWise Platform APIs仕様の全体をカバーしていました。その後のスコープ決定により、MSPbotsが実際に使用するカテゴリにまで削減されました。正確なエンドポイント→ツールの対応と、削除された6つのカテゴリの完全なリスト(約79ツール。元のビルドで最大の単一カテゴリである24ツールのticketsカテゴリを含む)については、上記のツール一覧セクションを参照してください。削除されたカテゴリが後で必要になった場合、ベンダーのOpenAPI仕様(下記リンク)にその正確な操作がまだ記載されており、維持されているツールと同じ方法で再追加できます。

  • MSPbotsが設定した「Suspension」/「Suspension Details」エンドポイントには対応するツールがありません — このギャップは削減前から存在しており(元の104ツールのビルドのalertingカテゴリはGET-suspension読み取り操作を実装せず、create/update/delete/post-incidentのみを実装していました)、削減によって生じたものではありません。サスペンションデータが実際に必要な場合は、ベンダーのOpenAPI仕様から追加する必要があります。

  • 実際のConnectWise Asioアカウントに対してはまだテストされていません。これまでに実行されたのは、プロトコルレベルの検証(ヘルスチェック、トークン欠落時の401、tools/listが全25ツールを返すこと)のみです。

  • connectwise_asio_update_company_custom_fields と connectwise_asio_create_company は、完全にフラット化された名前付き引数ではなく、汎用の body: dict パラメーターを受け取ります。docstringには必須のトップレベルのフィールドが列挙されていますが、ネストされたオブジェクトの構造は、最初の使用時に実際のAPIと照合する必要があります。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    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.
    65 npm
    6
    MIT
  • 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.
    1
    -
  • F
    license
    A
    quality
    B
    maintenance
    Exposes eSentire Atlas API (Findings, Ticketing, MVS) and Threat Intelligence feeds (IP Watch, Advanced/STIX) as MCP tools, enabling security operations and threat intelligence queries through natural language.
    29
    -