connectwise-command-mcp
connectwise-command-mcp
ConnectWise Command MCP 서버 — ConnectWise Command(Continuum) ITSupport247 Reporting API를 MCP 도구로 노출합니다.
명칭 참고: app.mspbots.ai는 이 통합을 "ConnectWise Command (continuum)"(
sys_integration.subject_code = CONTINUUM)이라고 부릅니다. ConnectWise가 Continuum을 인수하고 RMM 제품을 "ConnectWise Command"로 리브랜딩했습니다. 기본 API는 여전히 레거시 ITSupport247 도메인(itsupport247.net)에서 호스팅되며 "Reporting API"로 문서화되어 있습니다. 이 서버는 해당 Reporting API만 래핑하며, ConnectWise Manage(PSA)나 ConnectWise Automate와는 무관합니다.
개요
이 서버는 Model Context Protocol(Streamable HTTP/SSE 전송)을 구현하며, ConnectWise Command / Continuum 공식 "Reporting API REST Resources" 참조 문서의 모든 리소스를 래핑합니다. MSPbots Vendor MCP Service SOP를 따릅니다: 무상태(stateless), 저장된 자격 증명 없음, 요청별 헤더 인증.
기본 API는 HTTP Basic Auth(빈 사용자 이름, API 키를 비밀번호로 사용)로 인증하며 JSON을 반환합니다. 이 서버는 키를 절대 저장하지 않으며, 호출자가 요청별로 헤더를 통해 전달합니다. 아래의 모든 요청/응답 필드 이름은 공식 참조 문서에서 그대로 옮긴 것이며, 추측한 것이 아닙니다.
Related MCP server: nable-rmm-mcp
빠른 시작
Docker(권장)
docker compose up --build서버는 http://localhost:8080에서 시작됩니다.
로컬(uv)
uv sync
python -m connectwise_command_mcp상태 확인
curl http://localhost:8080/health
# {"status": "ok"}상태 확인 엔드포인트에는 토큰이 필요하지 않습니다.
인증 매개변수 설명 (Authentication)
/mcp에 대한 모든 요청에는 다음 HTTP 헤더가 포함되어야 합니다:
Header | 유형 | 필수 여부 | 기본값 | 열거값 | 필드 설명 | 예시 |
| string | 필수 | 없음 | 없음(자유 텍스트) | ConnectWise Command (Continuum) Reporting API 키는 ITSupport247 포털의 Admin > Integration > Reporting API > Regenerate Key 에서 생성합니다. 서버는 수신 후 이를 HTTP Basic Auth(사용자 이름은 비워 두고, 해당 키를 비밀번호로 사용)로 변환하여 업스트림 API로 전송하며, 어떤 저장도 하지 않습니다. |
|
내부적으로 이 서버는 키를 다음과 같이 인코딩합니다:
Authorization: Basic base64(":" + api_key)일부 다른 RMM 벤더(예: N-able)와 달리 ConnectWise Command의 Reporting API 호스트는 테넌트별이 아닌 고정 공개 엔드포인트입니다. 구성할 "URL" 필드/헤더가 없으며, app.mspbots.ai 통합 양식의 단일 "API Key" 필드와 일치합니다. X-ConnectWise-Command-Api-Key가 없으면 401 Unauthorized를 반환합니다.
환경 변수
변수 | 기본값 | 설명 |
|
| 수신 포트 |
|
| 수신 호스트 |
|
| 레거시 보고 엔드포인트(POST) |
|
| 사이트/디바이스 엔드포인트(GET) |
MCP 엔드포인트
POST http://localhost:8080/mcpMCP 클라이언트를 다음과 같이 연결하세요:
전송:
http(Streamable HTTP / SSE)헤더:
X-ConnectWise-Command-Api-Key: <api_key>
도구 목록
21개 도구로, 원래 41개 도구 전체 API 빌드(2026-08-04)에서 축소되었습니다. 이 벤더에 대한 MSPbots 자체 저장 통합 구성은 19개 엔드포인트를 호출하며(통합 ID 1424565871921713153에 대해 web/int/sys/integration/api/list로 확인), Antivirus(7개 중 7개 유지 — 모든 안티바이러스 도구가 실제로 사용됨), Patches(4개 중 4개 유지 — 동일), Warranty(3개 중 3개 유지 — 동일), Sites/Devices(3개 중 2개가 실제 사용되며, 카테고리가 작아 3개 모두 유지), Agent/System/Software(3개 중 3개 유지 — 동일), 그리고 단일 Misc 도구(get_score_summary, 실제로 사용되는 유일한 Misc 엔드포인트)를 포함합니다. 원래 41개 도구 빌드의 나머지 — Performance(7), Availability(3), Recover for Continuity/Backup(4), 그리고 기타 6개 Misc 도구(비준수 모바일 디바이스, OS 요약, 월/주별 서비스 요청, SNMP 디바이스, 작업 요약) — 는 MSPbots가 사용하지 않는 것으로 판단하여 제거되었습니다. 나중에 제거된 도구가 필요해지면 공식 "Reporting API REST Resources" 문서(아래 링크)에 여전히 문서화되어 있으며, 유지된 도구가 생성된 것과 동일한 방식으로 다시 추가할 수 있습니다.
대부분의 유지된 도구는 site_code(먼저 connectwise_command_get_sites에서 가져옴)와 month/year(int)를 받습니다. 일부는 resource_type("desktop" 또는 "server", 문서가 단일 값으로 고정하는 경우 리소스별 제한 사항이 명시됨)도 받습니다.
사이트, 디바이스 및 요약
도구 | 기능 | 매개변수 |
| 이 API 키로 볼 수 있는 모든 활성 사이트 나열 | 매개변수 없음 |
| 사이트의 디바이스 나열, 단일 디바이스로 선택적 필터링 |
|
| 사이트 자산 및 티켓 개요 |
|
에이전트 / 시스템 / 소프트웨어
도구 | 기능 | 매개변수 |
| 사이트 내 모든 디바이스의 모니터링 에이전트 상세(Machine ID 획득에도 사용) |
|
| 시스템 하드웨어/OS/BIOS 정보, 단일 디바이스로 선택적 필터링 |
|
| 설치된 소프트웨어 목록, 단일 디바이스로 선택적 필터링 |
|
안티바이러스
도구 | 기능 | 매개변수 |
| 데스크톱의 바이러스 정의 업데이트 기간(일), desktop만 지원 |
|
| 안티바이러스 보호 상태 카운트 요약 |
|
| 안티바이러스 제품/버전, 단일 디바이스로 선택적 필터링 |
|
| 일별 안티바이러스 상태 |
|
| 안티바이러스 보호가 없는 디바이스 목록 |
|
| 바이러스 정의가 만료된 디바이스 목록 |
|
| 지원되지 않는 안티바이러스 제품을 사용하는 디바이스 목록 |
|
패치
도구 | 기능 | 매개변수 |
| 데스크톱 누락 패치 요약 |
|
| 디바이스 기준 패치 상태 카운트 |
|
| 심각도별 패치 카운트 |
|
| 상태별(설치됨/누락/블랙리스트 등) 패치 총계 |
|
보증(Warranty)
도구 | 기능 | 매개변수 |
| 만료되었거나 곧 만료될 보증 디바이스 목록 |
|
| 디바이스 보증 상세(month/year 불필요) |
|
| 보증 상태(유효/만료/데이터 없음) 카운트 |
|
기타(Misc)
도구 | 기능 | 매개변수 |
| 사이트 전반적 건강/위험 점수(여러 지표, -1은 해당 사이트에 해당 없음) |
|
테스트 예시 (Test Example)
모든 사이트를 나열한 다음, 하나의 사이트에 대한 디바이스를 가져옵니다:
{
"method": "tools/call",
"params": { "name": "connectwise_command_get_sites", "arguments": {} }
}실행 중인 서버에 대한 동등한 curl(streamable HTTP MCP 엔드포인트):
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "X-ConnectWise-Command-Api-Key: <api_key>" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "connectwise_command_get_sites", "arguments": {} }
}'월/년 기반 리소스:
{
"method": "tools/call",
"params": {
"name": "connectwise_command_get_cpu_utilization",
"arguments": { "site_code": "AGTSolutions", "month": 4, "year": 2015 }
}
}API 참조
공식 문서(ITSupport247 포털, Admin > Integration > Reporting API):
"Getting Started with the Reporting API"
"Reporting API REST Resources"(리소스별 전체 요청/응답 스키마 — 이 서버의 모든 필드 이름의 출처)
구현 참고 사항
2026-08-04에 41개에서 21개 도구로 축소됨. 원래 빌드는 공식 Reporting API 문서의 모든 리소스를 다루었습니다. 이후 범위 결정으로 MSPbots가 실제로 구성한 19개 엔드포인트와 항상 유지되는 작은 Sites/Devices/Agent/System 카테고리로 축소되었습니다. 정확한 근거와 제거된 도구 전체 목록(Performance, Availability, Recover for Continuity/Backup, 그리고 7개 중 6개 Misc 도구 — 총 17개 도구)은 위의 도구 목록 섹션을 참조하세요. 나중에 제거된 도구가 필요해지면 공식 Reporting API 문서(아래 링크)에 여전히 문서화되어 있으며, 유지된 도구가 생성된 것과 동일한 방식으로 다시 추가할 수 있습니다.
오류 형태는 리소스별로 다릅니다 — 일부 응답은
"Error"(대문자, 예: Agent Details)를 사용하고, 대부분은"error"(소문자, 예: Antivirus Summary)를 사용하며, 응답 내 위치도 다양합니다(상단, 하단, 또는 항목별 중첩).ContinuumClient._parse는 두 대소문자를 모두 확인합니다.GET 리소스(
Sites,Devices)는error키가 있는 객체가 아닌, 순수 JSON 배열을 반환합니다.요청 필드 이름
MachineID(Antivirus Version Summary, Installed Software, System Information의 요청 본문에 사용)는 응답 필드MachineId와 대소문자가 다릅니다 — 둘 다 공식 문서에서 그대로 확인되었습니다.이 API에는
get_site_installation_package에 해당하는 기능이 없습니다. 여기서는 해당되지 않습니다(N-able RMM과 달리).
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage screenRIG screens, playlists, media, schedules, webhooks, and reports through MCP.
GunBroker MCP Pack — wraps the GunBroker firearms-marketplace API.
Authenticated MCP server for ClearPolicy policy and compliance workflows.
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Related MCP Servers
- AlicenseAqualityAmaintenanceExposes 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.125MIT
- AlicenseNot gradedqualityBmaintenanceEnables interaction with N-able RMM (N-sight) API to manage clients, sites, devices, and retrieve monitoring data such as checks, patches, and performance history.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceExposes ConnectWise Platform APIs as MCP tools, enabling management of companies, contacts, devices, policies, patches, and tickets through natural language.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.1-