Skip to main content
Glama
ConnectWise Manage MCP Server

ConnectWise Manage MCP Server

by sberlo9

ConnectWise Manage MCP Server

License Node.js

Deja que tu asistente de IA trabaje directamente con ConnectWise Manage. Busca tickets, registra tiempo, consulta empresas y contactos, gestiona proyectos — mediante conversación natural en lugar de hacer clic en la interfaz de CWM.

Este es un servidor de Model Context Protocol (MCP) que ofrece a Claude (o a cualquier IA compatible con MCP) 51 herramientas que cubren las operaciones diarias de las que dependen los negocios de ConnectWise Manage. Funciona tanto con instancias de CWM alojadas en la nube como autohospedadas — solo tienes que apuntarlo a tu servidor.

Parte del ecosistema MSP Claude Plugins — una creciente suite de integraciones de IA para el stack de MSP, incluyendo Autotask, Datto RMM, IT Glue, HaloPSA, NinjaOne, Huntress y más. Hecho por MSPs, para MSPs.

Despliegue con un clic

Deploy to DO

Deploy to Cloudflare Workers

Nota sobre la autenticación del registro: Este servidor depende únicamente de paquetes npm públicos, por lo que los sistemas de compilación en la nube de Cloudflare y DigitalOcean instalan sus dependencias de forma anónima — no se requiere ningún token para el despliegue con un clic. (Si una versión futura añade una dependencia privada @wyre-ai/*, tendrías que proporcionar un PAT de GitHub con read:packages como variable de compilación — NODE_AUTH_TOKEN para Cloudflare Workers, y un secreto GITHUB_TOKEN en tiempo de compilación para DigitalOcean.)

Instalación del paquete publicado: El paquete publicado está disponible en el registro npm de GitHub Packages, que requiere autenticación en cada instalación (incluso para paquetes públicos). Para instalarlo, autentica npm en npm.pkg.github.com con un PAT de GitHub que tenga read:packages:

export NODE_AUTH_TOKEN=$(gh auth token)
npm install @wyre-ai/connectwise-manage-mcp

Para desplegar en Azure Container Apps con Entra ID OAuth 2.1, consulta AZURE_ACA_DEPLOYMENT.md.

Related MCP server: ConnectWise Manage MCP Server

Configuración

Variables de entorno

Variable

Requerida

Descripción

CW_MANAGE_COMPANY_ID

Sí

Tu identificador de empresa de ConnectWise

CW_MANAGE_PUBLIC_KEY

Sí

Clave pública del miembro de API

CW_MANAGE_PRIVATE_KEY

Sí

Clave privada del miembro de API

CW_MANAGE_CLIENT_ID

Sí

ID de cliente del ConnectWise Developer Portal

CW_MANAGE_URL

No

URL base de la API (ver más abajo)

CW_MANAGE_REJECT_UNAUTHORIZED

No

Establécelo en false para certificados autofirmados (por defecto: true)

MCP_TRANSPORT

No

stdio (por defecto) o http

MCP_HTTP_PORT

No

Puerto HTTP (por defecto: 8080)

AUTH_MODE

No

env (por defecto) o gateway para autenticación basada en cabeceras

URL base de la API (CW_MANAGE_URL)

Tipo de instancia

URL

Nube (Norteamérica)

https://api-na.myconnectwise.net (por defecto)

Nube (Europa)

https://api-eu.myconnectwise.net

Nube (Australia)

https://api-au.myconnectwise.net

Autohospedada

https://cwm.yourcompany.com

Para instancias autohospedadas, establece CW_MANAGE_URL como la URL base de tu servidor. El servidor añade automáticamente /v4_6_release/apis/3.0 a menos que la URL ya contenga esa ruta.

Si tu instancia autohospedada utiliza un certificado autofirmado, establece también CW_MANAGE_REJECT_UNAUTHORIZED=false.

Cómo obtener tus claves de API

  1. Inicia sesión en tu instancia de ConnectWise Manage

  2. Ve a System > Members > API Members

  3. Crea un nuevo miembro de API con los permisos adecuados

  4. Genera claves de API para el miembro

  5. Obtén tu ID de cliente del ConnectWise Developer Portal

Herramientas disponibles

Tarjeta interactiva de ticket (MCP Apps)

cw_get_ticket se muestra como una tarjeta interactiva en los hosts de MCP Apps (Claude Desktop/web) con un ciclo de ida y vuelta de "Añadir nota" dentro de la tarjeta mediante cw_add_ticket_note, que siempre publica notas solo internas (internalAnalysisFlag); el comportamiento JSON plano no cambia en otros hosts. La tarjeta es neutra por defecto y se puede personalizar mediante la inyección de window.__BRAND__ o las variables de entorno MCP_BRAND_* (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) — no es necesario recompilar.

Tickets

  • cw_search_tickets — Busca tickets de servicio con condiciones

  • cw_get_ticket — Obtiene un ticket por ID

  • cw_create_ticket — Crea un nuevo ticket de servicio

  • cw_update_ticket — Actualiza un ticket (JSON Patch)

  • cw_get_ticket_notes — Obtiene todas las notas de un ticket (incluidas las notas de tickets secundarios)

  • cw_add_ticket_note — Añade una nota a un ticket (discusión, interna o resolución)

Empresas

  • cw_search_companies — Busca empresas

  • cw_get_company — Obtiene una empresa por ID

  • cw_create_company — Crea una nueva empresa

  • cw_update_company — Actualiza una empresa (JSON Patch)

Contactos

  • cw_search_contacts — Busca contactos

  • cw_get_contact — Obtiene un contacto por ID

  • cw_create_contact — Crea un nuevo contacto

Proyectos

  • cw_search_projects — Busca proyectos

  • cw_get_project — Obtiene un proyecto por ID

  • cw_create_project — Crea un nuevo proyecto

  • cw_search_project_tickets — Busca tickets dentro de un proyecto

  • cw_get_project_ticket — Obtiene un ticket de proyecto específico por ID

  • cw_get_project_ticket_notes — Obtiene todas las notas de un ticket de proyecto (incluidas las notas de tickets secundarios)

  • cw_add_project_ticket_note — Añade una nota a un ticket de proyecto (discusión, interna o resolución)

Registros de tiempo

  • cw_search_time_entries — Busca registros de tiempo

  • cw_get_time_entry — Obtiene un registro de tiempo por ID

  • cw_create_time_entry — Crea un nuevo registro de tiempo

Miembros

  • cw_search_members — Busca miembros/técnicos

  • cw_get_member — Obtiene un miembro por ID

Elementos de configuración

  • cw_search_configurations — Busca elementos de configuración (activos)

  • cw_get_configuration — Obtiene un elemento de configuración por ID

Datos de referencia del servicio

  • cw_list_boards — Lista los tableros de servicio

  • cw_list_priorities — Lista las prioridades de tickets

  • cw_list_statuses — Lista los estados de un tablero

Actividades

  • cw_search_activities — Busca actividades

  • cw_get_activity — Obtiene una actividad por ID

  • cw_create_activity — Crea una nueva actividad

Acuerdos

  • cw_search_agreements — Busca acuerdos

  • cw_get_agreement — Obtiene un acuerdo por ID

  • cw_get_agreement_additions — Obtiene las adiciones (líneas de detalle) de un acuerdo

Facturas

  • cw_search_invoices — Busca facturas

  • cw_get_invoice — Obtiene una factura por ID

Oportunidades

  • cw_search_opportunities — Busca oportunidades

  • cw_get_opportunity — Obtiene una oportunidad por ID

  • cw_search_opportunity_forecasts — Busca líneas de previsión de oportunidades

  • cw_search_opportunity_notes — Busca notas en una oportunidad

  • cw_search_sales_stages — Lista las etapas del pipeline de ventas

Catálogo (Productos)

  • cw_search_catalog_items — Busca elementos del catálogo de productos

  • cw_get_catalog_item — Obtiene un elemento del catálogo por ID

  • cw_create_catalog_item — Crea un nuevo elemento del catálogo

  • cw_update_catalog_item — Actualiza un elemento del catálogo (JSON Patch)

  • cw_list_catalog_categories — Lista las categorías del catálogo

  • cw_list_catalog_subcategories — Lista las subcategorías del catálogo

  • cw_list_manufacturers — Lista los fabricantes

Salud

  • cw_test_connection — Prueba la conexión (llama a /system/info)

Uso

Con Claude Desktop

Añade lo siguiente a tu claude_desktop_config.json:

{
  "mcpServers": {
    "connectwise-manage": {
      "command": "npx",
      "args": ["@wyre-ai/connectwise-manage-mcp"],
      "env": {
        "CW_MANAGE_COMPANY_ID": "your-company-id",
        "CW_MANAGE_PUBLIC_KEY": "your-public-key",
        "CW_MANAGE_PRIVATE_KEY": "your-private-key",
        "CW_MANAGE_CLIENT_ID": "your-client-id"
      }
    }
  }
}

Para una instancia autohospedada:

{
  "mcpServers": {
    "connectwise-manage": {
      "command": "npx",
      "args": ["@wyre-ai/connectwise-manage-mcp"],
      "env": {
        "CW_MANAGE_URL": "https://cwm.yourcompany.com",
        "CW_MANAGE_COMPANY_ID": "your-company-id",
        "CW_MANAGE_PUBLIC_KEY": "your-public-key",
        "CW_MANAGE_PRIVATE_KEY": "your-private-key",
        "CW_MANAGE_CLIENT_ID": "your-client-id",
        "CW_MANAGE_REJECT_UNAUTHORIZED": "false"
      }
    }
  }
}

Con Docker

docker compose up -d

Transporte HTTP (modo Gateway)

Ejecuta con transporte HTTP para despliegues de gateway multitenant:

MCP_TRANSPORT=http AUTH_MODE=gateway node dist/index.js

Pasa las credenciales en cada solicitud mediante cabeceras: X-CW-Company-Id, X-CW-Public-Key, X-CW-Private-Key, X-CW-Client-Id y, opcionalmente, X-CW-URL.

Desarrollo

# Install dependencies
npm install

# Build
npm run build

# Run in development
npm run dev

# Type check
npm run typecheck

# Run tests
npm test

Contribuciones

  1. Haz un fork del repositorio

  2. Crea una rama de características (git checkout -b feature/amazing-feature)

  3. Haz commit de tus cambios (git commit -m 'Add amazing feature')

  4. Sube la rama (git push origin feature/amazing-feature)

  5. Abre un Pull Request

Licencia

Apache-2.0


Creado por WYRE Technology — parte del ecosistema MSP Claude Plugins.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to work directly with ConnectWise Manage through natural conversation, offering tools to search and update tickets, log time, manage companies, contacts, projects, and more across cloud and self-hosted instances.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with Autotask PSA through natural language, providing tools for ticket triage, time logging, company lookups, project management, and more.
    226 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to directly query and manage Autotask PSA data through natural language, including ticket triage, time entry creation, company lookups, project management, billing review, and more.
    Apache 2.0