Skip to main content
Glama
sberlo9

ConnectWise Manage MCP Server

by sberlo9

ConnectWise Manage MCP Server

License Node.js

Позвольте вашему ИИ-ассистенту работать напрямую с ConnectWise Manage. Ищите заявки, учитывайте время, находите компании и контакты, управляйте проектами — через естественный диалог, а не щёлкая по интерфейсу CWM.

Это сервер Model Context Protocol (MCP), который предоставляет Claude (или любому ИИ, совместимому с MCP) 51 инструмент, покрывающий повседневные операции, на которые полагаются компании, использующие ConnectWise Manage. Работает как с облачными, так и с локальными экземплярами CWM — просто укажите ваш сервер.

Часть экосистемы MSP Claude Plugins — растущий набор ИИ-интеграций для MSP-стека, включая Autotask, Datto RMM, IT Glue, HaloPSA, NinjaOne, Huntress и другие. Создано MSP для MSP.

Развёртывание в один клик

Deploy to DO

Deploy to Cloudflare Workers

Примечание об аутентификации в реестре: этот сервер зависит только от публичных npm-пакетов, поэтому облачные сборщики Cloudflare и DigitalOcean устанавливают его зависимости анонимно — для развёртывания в один клик токен не требуется. (Если в будущем релизе появится приватная зависимость @wyre-ai/*, потребуется указать GitHub PAT с правами read:packages в качестве переменной сборки — NODE_AUTH_TOKEN для Cloudflare Workers и секрет GITHUB_TOKEN на этапе сборки для DigitalOcean.)

Установка опубликованного пакета: выпущенный пакет публикуется в npm-реестре GitHub Packages, который требует аутентификации при каждой установке (даже для публичных пакетов). Чтобы установить его, аутентифицируйте npm в npm.pkg.github.com с помощью GitHub PAT, имеющего права read:packages:

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

Для развёртывания в Azure Container Apps с Entra ID OAuth 2.1 см. AZURE_ACA_DEPLOYMENT.md.

Related MCP server: ConnectWise Manage MCP Server

Конфигурация

Переменные окружения

Переменная

Обязательно

Описание

CW_MANAGE_COMPANY_ID

Да

Идентификатор вашей компании ConnectWise

CW_MANAGE_PUBLIC_KEY

Да

Публичный ключ API-участника

CW_MANAGE_PRIVATE_KEY

Да

Приватный ключ API-участника

CW_MANAGE_CLIENT_ID

Да

Client ID из ConnectWise Developer Portal

CW_MANAGE_URL

Нет

Базовый URL API (см. ниже)

CW_MANAGE_REJECT_UNAUTHORIZED

Нет

Установите false для самоподписанных сертификатов (по умолчанию: true)

MCP_TRANSPORT

Нет

stdio (по умолчанию) или http

MCP_HTTP_PORT

Нет

HTTP-порт (по умолчанию: 8080)

AUTH_MODE

Нет

env (по умолчанию) или gateway для аутентификации на основе заголовков

Базовый URL API (CW_MANAGE_URL)

Тип инстанса

URL

Облако (Северная Америка)

https://api-na.myconnectwise.net (по умолчанию)

Облако (Европа)

https://api-eu.myconnectwise.net

Облако (Австралия)

https://api-au.myconnectwise.net

Локальный

https://cwm.yourcompany.com

Для локальных инстансов укажите в CW_MANAGE_URL базовый URL вашего сервера. Сервер автоматически добавляет /v4_6_release/apis/3.0, если URL ещё не содержит этот путь.

Если ваш локальный инстанс использует самоподписанный сертификат, также установите CW_MANAGE_REJECT_UNAUTHORIZED=false.

Получение ключей API

  1. Войдите в свой инстанс ConnectWise Manage

  2. Перейдите в System > Members > API Members

  3. Создайте нового API-участника с соответствующими правами

  4. Сгенерируйте ключи API для участника

  5. Получите свой Client ID на ConnectWise Developer Portal

Доступные инструменты

Интерактивная карточка заявки (MCP Apps)

cw_get_ticket отображается как интерактивная карточка в хостах MCP Apps (Claude Desktop/web) с циклом «Добавить заметку» внутри карточки через cw_add_ticket_note, который всегда отправляет заметки только для внутреннего использования (internalAnalysisFlag); поведение plain-JSON в других хостах не меняется. Карточка по умолчанию нейтральна и может быть брендирована через внедрение window.__BRAND__ или переменные окружения MCP_* (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) — без необходимости пересборки.

Заявки

  • cw_search_tickets — Поиск сервисных заявок по условиям

  • cw_get_ticket — Получить заявку по ID

  • cw_create_ticket — Создать новую сервисную заявку

  • cw_update_ticket — Обновить заявку (JSON Patch)

  • cw_get_ticket_notes — Получить все заметки по заявке (включая заметки дочерних заявок)

  • cw_add_ticket_note — Добавить заметку к заявке (обсуждение, внутренняя заметка или решение)

Компании

  • cw_search_companies — Поиск компаний

  • cw_get_company — Получить компанию по ID

  • cw_create_company — Создать новую компанию

  • cw_update_company — Обновить компанию (JSON Patch)

Контакты

  • cw_search_contacts — Поиск контактов

  • cw_get_contact — Получить контакт по ID

  • cw_create_contact — Создать новый контакт

Проекты

  • cw_search_projects — Поиск проектов

  • cw_get_project — Получить проект по ID

  • cw_create_project — Создать новый проект

  • cw_search_project_tickets — Поиск заявок в рамках проекта

  • cw_get_project_ticket — Получить конкретную заявку проекта по ID

  • cw_get_project_ticket_notes — Получить все заметки по заявке проекта (включая заметки дочерних заявок)

  • cw_add_project_ticket_note — Добавить заметку к заявке проекта (обсуждение, внутренняя заметка или решение)

Записи времени

  • cw_search_time_entries — Поиск записей времени

  • cw_get_time_entry — Получить запись времени по ID

  • cw_create_time_entry — Создать новую запись времени

Участники

  • cw_search_members — Поиск участников/техников

  • cw_get_member — Получить участника по ID

Конфигурационные элементы

  • cw_search_configurations — Поиск конфигурационных элементов (активов)

  • cw_get_configuration — Получить конфигурационный элемент по ID

Справочные данные сервиса

  • cw_list_boards — Список сервисных досок

  • cw_list_priorities — Список приоритетов заявок

  • cw_list_statuses — Список статусов для досок

Активности

  • cw_search_activities — Поиск активностей

  • cw_get_activity — Получить активность по ID

  • cw_create_activity — Создать новую активность

Соглашения

  • cw_search_agreements — Поиск соглашений

  • cw_get_agreement — Получить соглашение по ID

  • cw_get_agreement_additions — Получить дополнения (позиции) по соглашению

Счета

  • cw_search_invoices — Поиск счетов

  • cw_get_invoice — Получить счёт по ID

Возможности

  • cw_search_opportunities — Поиск возможностей

  • cw_get_opportunity — Получить возможность по ID

  • cw_search_opportunity_forecasts — Поиск строк прогноза по возможности

  • cw_search_opportunity_notes — Поиск заметок по возможности

  • cw_search_sales_stages — Список этапов воронки продаж

Каталог (продукты)

  • cw_search_catalog_items — Поиск позиций каталога продуктов

  • cw_get_catalog_item — Получить позицию каталога по ID

  • cw_create_catalog_item — Создать новую позицию каталога

  • cw_update_catalog_item — Обновить позицию каталога (JSON Patch)

  • cw_list_catalog_categories — Список категорий каталога

  • cw_list_catalog_subcategories — Список подкатегорий каталога

  • cw_list_manufacturers — Список производителей

Проверка работоспособности

  • cw_test_connection — Проверка соединения (обращение к /system/info)

Использование

С помощью Claude Desktop

Добавьте в ваш 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"
      }
    }
  }
}

Для локального инстанса:

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

С помощью Docker

docker compose up -d

HTTP-транспорт (режим шлюза)

Запустите с HTTP-транспортом для мультитенантных шлюзовых развёртываний:

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

Передавайте учётные данные в каждом запросе через заголовки: X-CW-Company-Id, X-CW-Public-Key, X-CW-Private-Key, X-CW-Client-Id и опционально X-CW-URL.

Разработка

# Install dependencies
npm install

# Build
npm run build

# Run in development
npm run dev

# Type check
npm run typecheck

# Run tests
npm test

Участие в разработке

  1. Сделайте форк репозитория

  2. Создайте ветку функции (git checkout -b feature/amazing-feature)

  3. Зафиксируйте изменения (git commit -m 'Add amazing feature')

  4. Отправьте ветку в удалённый репозиторий (git push origin feature/amazing-feature)

  5. Откройте Pull Request

Лицензия

Apache-2.0


Создано WYRE Technology — часть экосистемы 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.
    103 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