Подключите AI-ассистентов напрямую к панели C³ CELERITY для автоматизированного управления.
Model Context Protocol (MCP) — это протокол, который позволяет AI-ассистентам (Claude, Cursor и др.) напрямую взаимодействовать с панелью C³ CELERITY.
Через MCP AI может:
| Возможность | Описание |
|---|---|
| 👥 Управление пользователями | Создание, редактирование, блокировка VPN-пользователей |
| 🖥 Настройка серверов | Конфигурация серверов и нод |
| 💻 SSH-команды | Выполнение команд на серверах удалённо |
| 📊 Мониторинг | Получение статистики и логов |
| 🔧 Диагностика | Диагностика и устранение проблем |
| Требование | Описание |
|---|---|
| 🔑 API-ключ | С правом mcp:enabled |
| 🖥 AI-клиент | Claude Desktop, Cursor IDE или другой HTTP-клиент с SSE |
-
🖱 Откройте панель → Settings → API Keys
-
➕ Нажмите Создать MCP API-ключ
-
✏️ Укажите название ключа (например,
"Claude Assistant") -
🎛 Выберите права:
Тип Scopes Применение 🟢 Базовые mcp:enabled+ права на чтениеТолько чтение (по умолчанию) 🟡 Расширенные users:write,nodes:write,sync:writeОперации записи -
📋 Скопируйте ключ — показывается только один раз!
⚠️ Важно: Храните API-ключ в безопасном месте. Вы не сможете увидеть его снова.
Добавьте в файл конфигурации Claude Desktop:
| Платформа | Путь к конфигу |
|---|---|
| 🍎 macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 🪟 Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"celerity": {
"url": "https://your-panel.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Создайте файл .cursor/mcp.json в корне проекта:
{
"mcpServers": {
"celerity": {
"url": "https://your-panel.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Любой HTTP-клиент с поддержкой SSE может подключиться:
| Параметр | Значение |
|---|---|
| 📍 Endpoint | https://your-panel.com/api/mcp |
| 🔐 Auth | Authorization: Bearer YOUR_API_KEY |
| 📦 Content-Type | application/json |
| 📡 Accept | text/event-stream (для стриминга) |
📖 Пример запроса
curl -X POST https://your-panel.com/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}}}'Универсальный инструмент для получения данных из панели.
| Ресурс | Описание | Требуемый scope |
|---|---|---|
users |
👥 Список пользователей | users:read |
nodes |
🖥 Список серверов | nodes:read |
groups |
📁 Группы серверов | stats:read |
stats |
📊 Статистика трафика | stats:read |
logs |
📜 Системные логи | stats:read |
Параметры:
| Параметр | Обязательно | Описание |
|---|---|---|
resource |
✅ Да | Тип ресурса |
id |
❌ Нет | Конкретный ID элемента |
filter |
❌ Нет | Фильтры (зависят от ресурса) |
limit, page |
❌ Нет | Пагинация |
sortBy, sortOrder |
❌ Нет | Сортировка |
📖 Пример: Получить всех активных пользователей
{
"name": "query",
"arguments": {
"resource": "users",
"filter": { "enabled": true },
"limit": 50
}
}Требуется scope:
users:write
Доступные действия: create | update | delete | enable | disable | reset_traffic
📖 Пример: Создать пользователя
{
"name": "manage_user",
"arguments": {
"action": "create",
"userId": "user123",
"data": {
"username": "Иван Иванов",
"trafficLimit": 107374182400,
"maxDevices": 3,
"groups": ["groupId1"]
}
}
}Требуется scope:
nodes:write
Доступные действия: create | update | delete | sync | setup | reset_status | update_config
📖 Пример: Настроить ноду через SSH
{
"name": "manage_node",
"arguments": {
"action": "setup",
"id": "nodeId123",
"setupOptions": {
"installHysteria": true,
"setupPortHopping": true,
"restartService": true
}
}
}Требуется scope:
nodes:write
Доступные действия: create | update | delete
Требуется scope:
nodes:write
Доступные действия: create | update | delete | deploy | undeploy | reconnect
Требуется scope:
nodes:write
Выполняет shell-команду на сервере и возвращает вывод.
📖 Пример: Проверить статус сервиса
{
"name": "execute_ssh",
"arguments": {
"nodeId": "nodeId123",
"command": "systemctl status hysteria-server"
}
}Требуется scope:
nodes:write
Доступные действия: start | input | close
Требуется scope:
sync:write
Доступные действия: sync_all | clear_cache | backup | kick_user
Требуется scope:
nodes:read
Возвращает все активные ноды и связи между ними.
✅ Scope не требуется
Возвращает uptime, статус синхронизации, статистику кэша, использование памяти.
Промпты — это предустановленные сценарии, которые появляются как slash-команды в Claude Desktop (например,
/panel_overview).
| Промпт | Описание |
|---|---|
📊 panel_overview |
Обзор системы: ноды, пользователи, здоровье |
🔍 audit_nodes |
Найти проблемные ноды и предложить исправления |
👤 user_report |
Детальный отчёт по конкретному пользователю |
🖥 setup_new_node |
Пошаговое добавление новой ноды |
🔧 troubleshoot_node |
Диагностика ноды через SSH |
⏰ manage_expired_users |
Поиск и обработка истёкших пользователей |
AI выполнит:
| Шаг | Инструмент | Цель |
|---|---|---|
| 1 | health_check |
Общее состояние |
| 2 | query с resource=nodes |
Список нод |
| 3 | — | Сформирует отчёт с проблемными нодами |
AI выполнит:
manage_user → action=create, userId=testuser, trafficLimit=53687091200AI выполнит:
| Шаг | Инструмент | Цель |
|---|---|---|
| 1 | query с resource=nodes, id=<DE-01-id> |
Получить lastError |
| 2 | execute_ssh с systemctl status hysteria-server |
Проверить сервис |
| 3 | — | Проанализирует и предложит решение |
AI использует промпт setup_new_node:
| Шаг | Действие |
|---|---|
| 1 | 📋 Сбор данных (IP, домен, SSH-реквизиты) |
| 2 | 🆕 Создание ноды через manage_node |
| 3 | ⚙️ Автонастройка через manage_node action=setup |
| 4 | ✅ Проверка статуса |
| Scope | Описание | Уровень |
|---|---|---|
mcp:enabled |
🟢 Базовое право для MCP-доступа | Обязательно |
users:read |
👁 Чтение пользователей | Чтение |
users:write |
✏️ Создание, изменение, удаление | Запись |
nodes:read |
👁 Чтение серверов и статистики | Чтение |
nodes:write |
✏️ Управление серверами, SSH-команды | Запись |
stats:read |
👁 Чтение статистики и логов | Чтение |
sync:write |
✏️ Синхронизация, бэкапы, системные операции | Запись |
| Рекомендация | Описание |
|---|---|
| 🔒 Безопасное хранение | Храните API-ключи в безопасном месте |
| 🎯 Минимум прав | Используйте минимально необходимые права |
| 🔄 Ротация ключей | Периодически меняйте ключи |
| 📝 Аудит | Все MCP-операции логируются в системных логах панели |
| Файл | Описание |
|---|---|
src/services/mcpService.js |
Реестр инструментов |
src/routes/mcp.js |
MCP-эндпоинты |
src/mcp/prompts.js |
Предустановленные промпты |
src/locales/ru.json |
Локализация интерфейса MCP |