# ConnectWise PSA

Управляет тикетами, списанием времени, клиентами и расписанием в ConnectWise Manage прямо из чата ассистента с учётом прав пользователя.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Автор: mspstack
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/mspstack/mcp-connectwise-psa
- Обновлён: 2026-10-07
- HTML: https://affpapa.org/nevibecode/mcp/connectwise-psa

## Что делает

MCP-сервер открывает доступ к ConnectWise PSA через восемь наборов инструментов. Ассистент умеет искать тикеты сервиса и проектов, менять их статусы, добавлять внутренние комментарии и смотреть привязанные задачи. Также доступны контакты организаций, учёт оборудования и согласование таймшитов.

Доступно разделение по ролям. Пресеты `tech`, `dispatch` и `invoicing` урезают список доступных функций до минимума, экономя контекст языковой модели. Архитектура опирается на модель BYOK: каждый участник передаёт личные API-ключи, поэтому система сохраняет разграничение прав и указывает автора каждого действия. Для локальных инсталляций ConnectWise предусмотрен отдельный блок прямых T-SQL запросов на чтение к базе данных.

Без действующего `CW_CLIENT_ID` из портала разработчиков ConnectWise и пары API-ключей сервер запросы не выполнит. Запуск возможен локально через `stdio` или как отдельный HTTP-сервис в Docker.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `CW_SITE`, `CW_COMPANY_ID`, `CW_CLIENT_ID`, `CW_PUBLIC_KEY`, `CW_PRIVATE_KEY`, `CW_MEMBER_IDENTIFIER`, `CW_TOOLSETS`, `CW_DB_HOST`, `CW_DB_NAME`, `CW_DB_USER` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add mcp-connectwise-psa -e CW_SITE=<CW_SITE> -e CW_COMPANY_ID=<CW_COMPANY_ID> -e CW_CLIENT_ID=<CW_CLIENT_ID> -e CW_PUBLIC_KEY=<CW_PUBLIC_KEY> -e CW_PRIVATE_KEY=<CW_PRIVATE_KEY> -e CW_DB_PASSWORD=<CW_DB_PASSWORD> -- npx -y mcp-connectwise-psa
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add connectwise-psa --env CW_SITE=<CW_SITE> --env CW_COMPANY_ID=<CW_COMPANY_ID> --env CW_CLIENT_ID=<CW_CLIENT_ID> --env CW_PUBLIC_KEY=<CW_PUBLIC_KEY> --env CW_PRIVATE_KEY=<CW_PRIVATE_KEY> -- npx -y mcp-connectwise-psa
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "connectwise-psa": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-connectwise-psa"
            ],
            "env": {
                "CW_SITE": "<CW_SITE>",
                "CW_COMPANY_ID": "<CW_COMPANY_ID>",
                "CW_CLIENT_ID": "<CW_CLIENT_ID>",
                "CW_PUBLIC_KEY": "<CW_PUBLIC_KEY>",
                "CW_PRIVATE_KEY": "<CW_PRIVATE_KEY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "connectwise-psa": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-connectwise-psa"
            ],
            "env": {
                "CW_SITE": "<CW_SITE>",
                "CW_COMPANY_ID": "<CW_COMPANY_ID>",
                "CW_CLIENT_ID": "<CW_CLIENT_ID>",
                "CW_PUBLIC_KEY": "<CW_PUBLIC_KEY>",
                "CW_PRIVATE_KEY": "<CW_PRIVATE_KEY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e CW_SITE=<CW_SITE> -e CW_COMPANY_ID=<CW_COMPANY_ID> -e CW_CLIENT_ID=<CW_CLIENT_ID> -e CW_PUBLIC_KEY=<CW_PUBLIC_KEY> -e CW_PRIVATE_KEY=<CW_PRIVATE_KEY> connectwise-psa npx -y mcp-connectwise-psa
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

## Когда брать
- вести учёт отработанного времени по сервисным и проектным тикетам
- проверять расписание и занятость инженеров перед распределением заявок
- просматривать карточки компаний, контактные данные и связанные конфигурации
- отслеживать невыставленные счета и действующие клиентские соглашения

## Примеры запросов агенту
- Покажи назначенные на меня тикеты со статусом In Progress
- Спиши 45 минут на тикет 14820 с типом работы Remote Support
- Проверь доступность инженеров в расписании на вторую половину дня

## Похожие
- [Reactive Resume](https://affpapa.org/nevibecode/mcp/reactive-resume.md) — MCP-сервер · ★ 44908
- [screenpipe](https://affpapa.org/nevibecode/mcp/screenpipe.md) — MCP-сервер · ★ 22082
- [Inbox Zero](https://affpapa.org/nevibecode/mcp/inbox-zero.md) — MCP-сервер · ★ 12826
- [kaneo](https://affpapa.org/nevibecode/mcp/kaneo.md) — MCP-сервер · ★ 9623
- [Mindwtr](https://affpapa.org/nevibecode/mcp/mindwtr.md) — MCP-сервер · ★ 2330
- [Azure DevOps (ADO)](https://affpapa.org/nevibecode/mcp/azure-devops-ado.md) — MCP-сервер · ★ 2071

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
