connectwise-asio-mcp
connectwise-asio-mcp
ConnectWise Asio MCP 서버 — ConnectWise Platform API(이전 SolarWinds MSP/N-central 계열 RMM이었던 ConnectWise Asio 뒤의 "Current API")를 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 API를 래핑합니다. — 5개 카테고리(devices, companies_contacts, custom_fields, patching, automation)에 걸친 25개 도구로, MSPbots가 실제로 구성한 23개 엔드포인트와 최소한의 핵심 CRUD로 축소되었습니다(아래 도구 목록 참조; 원래는 24개 태그 카테고리에 걸친 107개 작업의 전체 API 빌드였습니다). MSPbots Vendor MCP Service SOP를 따릅니다: 상태 비저장, 저장된 자격 증명 없음, 요청별 헤더 인증.
기본 API는 OAuth2 Client Credentials로 인증합니다. 이 서버는 토큰 교환을 직접 수행하지 않습니다. 대신 요청별로 이미 발급된 bearer 액세스 토큰을 수신합니다(이 MSPbots MCP 플릿에서 Microsoft Graph 등 다른 OAuth 흐름 통합이 처리되는 방식과 동일합니다: 게이트웨이가 client_id/client_secret/scope로 토큰을 생성/갱신하며, 결과 토큰만 이 서버에 도달합니다).
Related MCP server: mcp-connectwise-psa
빠른 시작
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 헤더가 포함되어야 합니다:
헤더 | 유형 | 필수 여부 | 기본값 | 열거 값 | 필드 설명 | 예시 |
| string | 필수 | 없음 | 없음(자유 텍스트) | OAuth2 bearer 액세스 토큰. 호출자(Agent Platform / 상위 게이트웨이)가 |
|
| string | 선택 |
|
| ConnectWise Asio는 계정이 속한 지역에 따라 3개의 독립 서버로 나뉩니다(Client ID 접두사 0e30=NA/0e31=EU/0e32=AU로 지역을 판별할 수 있음). 이 헤더가 없으면 환경 변수 기본값을 사용하며, 게이트웨이가 여러 지역 테넌트를 동시에 서비스하는 경우 요청별로 덮어씁니다. |
|
X-ConnectWise-Asio-Token이 누락되면 401 Unauthorized를 반환합니다.
환경 변수
변수 | 기본값 | 설명 |
|
| 수신 포트 |
|
| 수신 호스트 |
|
| 기본 지역 서버. |
MCP 엔드포인트
POST http://localhost:8080/mcpMCP 클라이언트를 다음과 같이 연결하세요:
전송:
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는 두 엔드포인트 — "ConnectWise Asio Suspension"(GET /v2/alerting/suspensions)과 "ConnectWise Asio Suspension Details"(GET /v2/alerting/suspensions/{ruleid}) — 을 구성했지만, 이 서버에는 대응하는 도구가 전혀 없습니다(원래 104개 도구 빌드의 alerting 카테고리는 생성/업데이트/삭제/사고 후 작업만 구현했고, GET-suspension 읽기는 구현한 적이 없습니다). 이 격차는 축소 이전부터 존재했으며 축소로 인해 생긴 것이 아닙니다. 도구 수가 줄어들어 더 눈에 띄게 되었으므로 여기에 표시합니다. 아래 Known Gaps를 참조하세요.
회사 및 연락처 (6)
도구 | 설명 | 파라미터 |
| 새 회사(클라이언트)를 생성합니다. | body |
| 파트너의 모든 회사(클라이언트)를 나열합니다. | none |
| ID로 회사를 조회합니다. | company_id |
| 회사의 모든 사이트를 나열합니다. | company_id |
| ID로 사이트를 조회합니다(파트너 전체 기준, 특정 회사에 한정되지 않음). | site_id |
| 파트너의 모든 사이트를 나열합니다(모든 회사에 걸쳐). | none |
사용자 정의 필드 (6)
도구 | 설명 | 파라미터 |
| 회사의 사용자 정의 필드 값을 조회합니다. | company_id, attribute_ids?, with_defaults?, origin_type?, owner_id? |
| ID로 사용자 정의 필드 정의 스키마를 조회합니다. | definition_id |
| 파트너의 사용자 정의 필드 정의 목록을 조회합니다(벤더 제공 및 파트너 정의). | entity_type?, origin_type? |
| 장치(엔드포인트)의 사용자 정의 필드 값을 조회합니다. | endpoint_id, attribute_ids?, with_defaults?, origin_type?, owner_id? |
| 사이트의 사용자 정의 필드 값을 조회합니다. | site_id, attribute_ids?, with_defaults?, origin_type?, owner_id? |
| 회사의 여러 사용자 정의 필드 값을 업데이트합니다. | company_id, body |
장치 및 엔드포인트 (9)
도구 | 설명 | 매개변수 |
| 특정 엔드포인트(디바이스)의 전체 세부 정보를 가져옵니다. | company_id, site_id, endpoint_id, field? |
| 엔드포인트 집합에 설치된 애플리케이션 세부 정보를 가져옵니다. | resource_type, resources, limit, cursor, field?, name?, version? |
| 엔드포인트의 최신 CPU 사용량을 가져옵니다. | endpoint_id |
| 엔드포인트의 최신 디스크 사용량을 가져옵니다. | endpoint_id |
| 디바이스의 온라인/오프라인 가용성 정보를 가져옵니다. | resource_type, resources, offline_lookback?, availability? |
| 엔드포인트의 최신 메모리 사용량을 가져옵니다. | endpoint_id, minute? |
| 엔드포인트의 서비스(Windows 서비스/데몬) 세부 정보를 가져옵니다. | company_id, site_id, endpoint_id, service_name?, field? |
| 엔드포인트의 시스템 상태 정보(실행 중인 프로세스, 서비스 등)를 가져옵니다. | endpoint_id |
| 지정된 카테고리의 디바이스(엔드포인트) 목록을 특정 리소스 범위로 가져옵니다. | category, resource_type, resources, limit, cursor, sort_by?, field?, filter? |
패칭 (3)
도구 | 설명 | 매개변수 |
| 엔드포인트의 OS 패치 목록을 가져옵니다. | endpoint_id |
| 리소스 집합에 대한 일괄 OS 패치 규정 준수 요약을 가져옵니다. | resource_type, resources, limit, cursor, field? |
| 엔드포인트 집합에 대한 일괄 OS 패치 세부 정보를 가져옵니다. | resource_type, resources, field? |
자동화 (1)
도구 | 설명 | 매개변수 |
| 파트너의 모든 자동화 작업을 가져옵니다. | 없음 |
테스트 예시 (Test Example)
회사 목록을 가져온 다음 해당 사이트를 가져옵니다:
{
"method": "tools/call",
"params": { "name": "connectwise_asio_get_companies", "arguments": {} }
}실행 중인 서버(스트리밍 가능한 HTTP MCP 엔드포인트)에 대한 동등한 curl 명령:
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, EUhttps://openapi.service.euplatform.connectwise.com, AUhttps://openapi.service.auplatform.connectwise.com
알려진 누락 사항 / 아직 검증되지 않은 사항
2026-08-04에 104개에서 25개 도구로 축소되었습니다. 원래 빌드는 이전 범위 결정에 따라 전체 ConnectWise Platform API 사양을 다루었습니다. 이후의 범위 결정으로 MSPbots가 실제로 사용하는 카테고리만 남기도록 축소되었습니다. 정확한 엔드포인트→도구 매핑과 제거된 6개 카테고리(원래 빌드에서 가장 큰 단일 카테고리인 24개 도구의
tickets카테고리를 포함하여 약 79개 도구)의 전체 목록은 위의 도구 목록 섹션을 참조하세요. 제거된 카테고리가 나중에 필요해지면, 공급업체의 OpenAPI 사양(아래 링크)에 해당 정확한 작업이 여전히 문서화되어 있으므로 유지된 도구가 생성된 것과 동일한 방식으로 다시 추가할 수 있습니다.MSPbots가 구성한 "Suspension"/"Suspension Details" 엔드포인트에는 해당 도구가 없습니다 — 이 누락은 축소 이전부터 존재했습니다(원래 104개 도구 빌드의
alerting카테고리는 GET-suspension 읽기 작업을 구현한 적이 없으며 create/update/delete/post-incident 작업만 구현했습니다). 축소로 인해 도입된 것이 아닙니다. Suspension 데이터가 실제로 필요하다면 공급업체의 OpenAPI 사양에서 추가해야 합니다.아직 실제 ConnectWise Asio 계정을 대상으로 테스트되지 않았습니다 — 지금까지는 프로토콜 수준 검증(헬스 체크, 토큰 누락 시 401,
tools/list가 25개 도구 전체를 반환)만 수행되었습니다.connectwise_asio_update_company_custom_fields및connectwise_asio_create_company는 완전히 펼쳐진 명명된 인자 대신 일반적인body: dict매개변수를 사용합니다 — docstring에는 필수 최상위 필드가 나열되어 있지만, 중첩된 객체 형태는 첫 사용 시 실제 API와 대조하여 확인해야 합니다.
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.
This server cannot be installed
Maintenance
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
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Let AI agents query data and act across all your business apps via MCP.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Related MCP Servers
- AlicenseBqualityCmaintenanceExposes N-able N-central REST API as MCP tools for managing devices, organizations, users, and more, with support for read-only, write, and full write modes.825MIT
- AlicenseNot gradedqualityAmaintenanceMCP 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.4595MIT
- AlicenseNot gradedqualityBmaintenanceExposes the ConnectWise Command (Continuum) ITSupport247 Reporting API as MCP tools, enabling querying of sites, devices, patches, antivirus, performance, and more.Apache 2.0
- FlicenseNot gradedqualityBmaintenanceExposes 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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