Skip to main content
Glama
MSPbotsAIFramework

connectwise-command-mcp

connectwise-command-mcp

ConnectWise Command MCP server — expone la API de informes de ConnectWise Command (Continuum) ITSupport247 como herramientas MCP.

Nota sobre el nombre: app.mspbots.ai llama a esta integración "ConnectWise Command (continuum)" (sys_integration.subject_code = CONTINUUM). ConnectWise adquirió Continuum y renombró su producto RMM como "ConnectWise Command"; la API subyacente sigue alojada en el dominio heredado ITSupport247 (itsupport247.net) y está documentada como la "Reporting API". Este servidor envuelve únicamente esa Reporting API — no está relacionado con ConnectWise Manage (PSA) ni con ConnectWise Automate.

Descripción general

Este servidor implementa el Model Context Protocol (transporte Streamable HTTP/SSE) y envuelve todos los recursos de la referencia oficial "Reporting API REST Resources" para ConnectWise Command / Continuum. Sigue el SOP del Servicio MCP de Proveedores de MSPbots: sin estado, sin credenciales almacenadas, autenticación por cabecera en cada solicitud.

La API subyacente se autentica mediante autenticación básica HTTP (nombre de usuario en blanco, clave API como contraseña) y devuelve JSON. Este servidor nunca almacena la clave — el llamador la pasa en cada solicitud mediante una cabecera. Todos los nombres de campos de solicitud/respuesta a continuación están transcritos literalmente del documento de referencia oficial, no adivinados.

Related MCP server: nable-rmm-mcp

Inicio rápido

Docker (recomendado)

docker compose up --build

El servidor se inicia en http://localhost:8080.

Local (uv)

uv sync
python -m connectwise_command_mcp

Comprobación de estado

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

No se requiere token para el endpoint de estado.

Parámetros de autenticación (Authentication)

Cada solicitud a /mcp debe incluir la siguiente cabecera HTTP:

Cabecera

Tipo

¿Obligatorio?

Valor por defecto

Valores posibles

Descripción del campo

Ejemplo

X-ConnectWise-Command-Api-Key

string

Obligatorio

Ninguno

Ninguno (texto libre)

Clave de la API de informes de ConnectWise Command (Continuum), generada en el portal ITSupport247 en Admin > Integration > Reporting API > Regenerate Key. El servidor la convierte en autenticación básica HTTP (nombre de usuario en blanco, la clave como contraseña) y la envía a la API ascendente, sin almacenarla.

X-ConnectWise-Command-Api-Key: <your_reporting_api_key>

Internamente, este servidor codifica la clave como:

Authorization: Basic base64(":" + api_key)

A diferencia de otros proveedores de RMM (p. ej., N-able), los hosts de la Reporting API de ConnectWise Command son endpoints públicos fijos, no por inquilino — no hay campo/cabecera "URL" que configurar, lo que coincide con el único campo "API Key" del formulario de integración de app.mspbots.ai. Si falta X-ConnectWise-Command-Api-Key, se devuelve 401 Unauthorized.

Variables de entorno

Variable

Valor por defecto

Descripción

MCP_HTTP_PORT

8080

Puerto de escucha

MCP_HTTP_HOST

0.0.0.0

Host de escucha

CONNECTWISE_COMMAND_LEGACY_BASE_URL

https://itsapi.itsupport247.net/reportingapi/ReportingAPIService.svc/json

Endpoints de informes heredados (POST)

CONNECTWISE_COMMAND_SITES_BASE_URL

https://api.itsupport247.net

Endpoints de Sitios/Dispositivos (GET)

Endpoint MCP

POST http://localhost:8080/mcp

Conecta tu cliente MCP con:

  • Transporte: http (Streamable HTTP / SSE)

  • Cabecera: X-ConnectWise-Command-Api-Key: <api_key>

Lista de herramientas

21 herramientas, reducidas de una compilación original de 41 herramientas de toda la API (2026-08-04). La configuración de integración almacenada por MSPbots para este proveedor llama a 19 endpoints (confirmado mediante web/int/sys/integration/api/list contra el id de integración 1424565871921713153), que abarcan Antivirus (7 de 7 conservadas — todas las herramientas de antivirus se usan realmente), Parches (4 de 4 conservadas — igual), Garantía (3 de 3 conservadas — igual), Sitios/Dispositivos (2 de 3 realmente usadas, se conservaron las 3 dado que la categoría es pequeña), Agente/Sistema/Software (3 de 3 conservadas — igual), más una única herramienta Misc (get_score_summary, el único endpoint Misc realmente usado). Todo lo demás de la compilación original de 41 herramientas — Rendimiento (7), Disponibilidad (3), Recover for Continuity/Backup (4) y las otras 6 herramientas Misc (dispositivos móviles no conformes, resumen de SO, solicitudes de servicio por mes/semana, dispositivos SNMP, resumen de trabajo) — se eliminó por no ser usado por MSPbots. Si se necesita una herramienta eliminada más adelante, el documento oficial "Reporting API REST Resources" (enlazado abajo) aún la documenta y se puede volver a añadir de la misma manera en que se generaron las herramientas conservadas.

La mayoría de las herramientas conservadas toman site_code (obtén uno con connectwise_command_get_sites primero) más month/year (int); varias también toman resource_type ("desktop" o "server", con restricciones por recurso anotadas donde el documento lo fija a un valor).

Sitios, Dispositivos y Resumen

Herramienta

Función

Parámetros

connectwise_command_get_sites

Lista todos los sitios activos visibles para esta clave API

Sin parámetros

connectwise_command_get_devices

Lista los dispositivos de un sitio, opcionalmente localizando un dispositivo concreto

site_code (obligatorio), machine_id?

connectwise_command_get_site_summary

Resumen de activos y tickets del sitio

site_code, month, year (todos obligatorios)

Agente / Sistema / Software

Herramienta

Función

Parámetros

connectwise_command_get_agent_details

Detalles del agente de monitorización de todos los dispositivos del sitio (también se usa para obtener el Machine ID)

site_code (obligatorio)

connectwise_command_get_system_information

Información de hardware/SO/BIOS del sistema, opcionalmente localizando un dispositivo concreto

site_code (obligatorio), machine_id?

connectwise_command_get_installed_software

Lista de software instalado, opcionalmente localizando un dispositivo concreto

site_code (obligatorio), machine_id?

Antivirus

Herramienta

Función

Parámetros

connectwise_command_get_antivirus_ages

Antigüedad de la actualización de la base de datos antivirus de los equipos de escritorio (días), solo desktop

site_code, month, year (todos obligatorios)

connectwise_command_get_antivirus_summary

Recuento resumido del estado de protección antivirus

site_code, month, year, resource_type (todos obligatorios, "Desktop"/"server")

connectwise_command_get_antivirus_version_summary

Producto/versión de antivirus, opcionalmente localizando un dispositivo concreto

site_code (obligatorio), machine_id?

connectwise_command_get_daily_antivirus_status

Estado diario del antivirus

site_code, month, year, resource_type (todos obligatorios)

connectwise_command_get_missing_antivirus

Lista de dispositivos sin protección antivirus

site_code, month, year, resource_type (todos obligatorios)

connectwise_command_get_outdated_antivirus

Lista de dispositivos con base de datos de virus desactualizada

site_code, month, year, resource_type (todos obligatorios)

connectwise_command_get_unsupported_antivirus

Lista de dispositivos que usan productos antivirus no compatibles

site_code, month, year, resource_type (todos obligatorios)

Parches

Herramienta

Función

Parámetros

connectwise_command_get_missing_patches

Resumen de parches faltantes en equipos de escritorio

site_code, month, year (todos obligatorios)

connectwise_command_get_patch_summary_by_resource

Recuento del estado de parches por dispositivo

site_code, month, year, resource_type (todos obligatorios)

connectwise_command_get_patch_summary_by_severity

Recuento de parches por severidad

site_code, month, year, resource_type (todos obligatorios)

connectwise_command_get_patch_summary_by_state

Total de parches por estado (instalado/faltante/en lista negra, etc.)

site_code, month, year, resource_type (todos obligatorios)

Garantía

Herramienta

Función

Parámetros

connectwise_command_get_expiring_warranties

Lista de dispositivos con garantía vencida o próxima a vencer

site_code, month, year, resource_type (todos obligatorios)

connectwise_command_get_warranty_details

Detalles de garantía del dispositivo (no requiere month/year)

site_code (obligatorio), include_warranty_history? (por defecto false)

connectwise_command_get_warranty_summary

Recuento del estado de garantía (válida/vencida/sin datos)

site_code, month, year, resource_type (todos obligatorios)

Misc

Herramienta

Función

Parámetros

connectwise_command_get_score_summary

Puntuación general de salud/riesgo del sitio (varios indicadores, -1 significa que no aplica a ese sitio)

site_code, month, year (todos obligatorios)

Ejemplo de prueba (Test Example)

Lista todos los sitios y luego obtén los dispositivos de uno:

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

curl equivalente contra el servidor en ejecución (endpoint MCP HTTP transmisible):

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

Un recurso basado en mes/año:

{
  "method": "tools/call",
  "params": {
    "name": "connectwise_command_get_cpu_utilization",
    "arguments": { "site_code": "AGTSolutions", "month": 4, "year": 2015 }
  }
}

Referencia de la API

  • Documentación oficial (portal ITSupport247, Admin > Integration > Reporting API):

    • "Getting Started with the Reporting API"

    • "Reporting API REST Resources" (esquemas completos de solicitud/respuesta por recurso — fuente de cada nombre de campo en este servidor)

Notas de implementación

  • Reducido de 41 a 21 herramientas el 2026-08-04. La compilación original cubría todos los recursos del documento oficial de la Reporting API. Una decisión de alcance posterior la recortó a los 19 endpoints realmente configurados por MSPbots más las pequeñas categorías siempre conservadas de Sitios/Dispositivos/Agente/Sistema — consulta la sección Lista de herramientas más arriba para conocer la justificación exacta y la lista completa de herramientas eliminadas (Rendimiento, Disponibilidad, Recover for Continuity/Backup y 6 de las 7 herramientas Misc — 17 herramientas en total). Si se necesita una herramienta eliminada más adelante, el documento oficial de la Reporting API (enlazado abajo) aún la documenta y se puede volver a añadir de la misma manera en que se generaron las herramientas conservadas.

  • La forma del error varía según el recurso — algunas respuestas usan "Error" (con mayúscula, p. ej., Agent Details), la mayoría usa "error" (en minúscula, p. ej., Antivirus Summary), y la posición en la respuesta varía (arriba, abajo o anidada por elemento). ContinuumClient._parse comprueba ambas grafías.

  • Los recursos GET (Sites, Devices) devuelven una matriz JSON simple, no un objeto con una clave error.

  • El nombre de campo de solicitud MachineID (usado en el cuerpo de la solicitud para Antivirus Version Summary, Installed Software, System Information) difiere en mayúsculas/minúsculas del campo de respuesta MachineId — ambos confirmados literalmente del documento oficial.

  • La funcionalidad equivalente a get_site_installation_package no existe para esta API; no aplica aquí (a diferencia de N-able RMM).

Related MCP Connectors

Related MCP Servers