Интеграция MCP (доступ ИИ-инструментов)
Canopy включает встроенный MCP-сервер (Model Context Protocol), который позволяет ИИ-инструментам — таким как Claude Desktop, GitHub Copilot, Cursor и VS Code — запрашивать и обновлять данные вашей EA напрямую. ИИ-инструменты также могут загружать артефакты (таблицы, BPMN-диаграммы, DrawIO-диаграммы, свободные документы) и превращать их в карточки, связи и диаграммы, соответствующие существующей метамодели. Пользователи аутентифицируются через существующего SSO-провайдера, и каждое действие учитывает их индивидуальные разрешения.
Эта функция необязательна и не запускается автоматически. Она требует настройки SSO, активации профиля MCP в Docker Compose и включения администратором в интерфейсе настроек.
Как это работает
ИИ-инструмент (Claude, Copilot и т.д.)
│
│ Протокол MCP (HTTP + SSE)
▼
MCP-сервер Canopy (:8001, внутренний)
│
│ OAuth 2.1 с PKCE
│ делегирует вашему SSO-провайдеру
▼
Бэкенд Canopy (:8000)
│
│ RBAC для каждого пользователя
▼
PostgreSQL
- Пользователь добавляет URL MCP-сервера в свой ИИ-инструмент.
- При первом подключении ИИ-инструмент открывает окно браузера для SSO-аутентификации.
- После входа MCP-сервер выдаёт собственный токен доступа (на основе JWT Canopy пользователя). Токен упреждающе обновляется примерно за час до истечения срока действия.
- ИИ-инструмент использует этот токен для всех последующих запросов.
- Каждый запрос проходит через обычную систему разрешений Canopy — пользователи видят только данные, к которым у них есть доступ.
Предварительные требования
Перед включением MCP у вас должно быть:
- SSO настроен и работает — MCP делегирует аутентификацию вашему SSO-провайдеру (Microsoft Entra ID, Google Workspace, Okta или общий OIDC). См. руководство по Аутентификации и SSO.
- HTTPS с публичным доменом — поток OAuth требует стабильного URI перенаправления. Разверните за обратным прокси с терминац ией TLS (Caddy, Traefik, Cloudflare Tunnel и т.д.).
Настройка
Шаг 1: Запустите сервис MCP
MCP-сервер — это опциональный профиль Docker Compose. Добавьте --profile mcp к вашей команде запуска:
docker compose --profile mcp up -d
Это запускает лёгкий Python-контейнер (порт 8001, только для внутреннего использования) рядом с бэкендом и фронтендом. Nginx автоматически проксирует запросы /mcp/ к нему — если контейнер н е запущен, запросы получают чистый ответ 502, а не приводят к сбою граничного прокси.
Шаг 2: Настройте переменные окружения
Добавьте следующее в ваш файл .env:
CANOPY_PUBLIC_URL=https://your-domain.example.com
MCP_PUBLIC_URL=https://your-domain.example.com/mcp
| Переменная | По умолчанию | Описание |
|---|---|---|
CANOPY_URL | http://backend:8000 | Внутренний URL бэкенда, с которым взаимодействует контейнер MCP (имя сервиса Docker — редко требует изменения). |
CANOPY_PUBLIC_URL | http://localhost:8920 | Публичный URL вашего экземпляра Canopy. |
MCP_PUBLIC_URL | http://localhost:8920/mcp | Публичный URL MCP-сервера (используется в URI перенаправления OAuth и в метаданных). |
MCP_PORT | 8001 | Внутренний порт MCP-контейнера (редко требует изменения). |
Шаг 3: Добавьте URI перенаправления OAuth в ваше приложение SSO
В регистрации приложения вашего SSO-провайдера (том же, которое вы настроили для входа в Canopy) добавьте этот URI перенаправления:
https://your-domain.example.com/mcp/oauth/callback
Это необходимо для потока OAuth, который аутентифицирует пользователей при подключении из их ИИ-инструмента.
Шаг 4: Включите MCP в настройках администратора
- Перейдите в Настройки в области администрирования и выберите вкладку ИИ.
- Прокрутите до раздела Интеграция MCP (доступ ИИ-инструментов).
- Переключите переключатель, чтобы включить MCP.
- В интерфейсе отобразится URL MCP-сервера и инструкции по настройке, которыми можно поделиться с вашей командой.
Переключатель недоступен, если SSO не настроен. Сначала настройте SSO.