API VEGA

PubNub MCP Server

Размещённый сервер Model Context Protocol (MCP), который предоставляет PubNub SDK документацию и ресурсы PubNub API инструментам на базе LLM. Это улучшает способность ИИ-агента на базе LLM понимать и взаимодействовать с SDKs и API PubNub. Используется HTTP-транспорт с аутентификацией OAuth.

Особенности

  • 📚 Полная документация по SDK - Доступ к детальной документации, примерам кода и руководствам по внедрению для 20+ языков программирования, включая JavaScript, Python, Java, Swift, Kotlin, C#, Ruby, Go и другие

  • 🏗️ Управление приложениями и набором ключей - Создание, настройка и управление PubNub-приложениями и наборами ключей с такими возможностями, как сохранение сообщений, обмен файлами, отслеживание присутствия и context приложения

  • 💬 Обмен сообщениями в реальном времени - Отправка и получение сообщений через каналы, реализация живого чата, уведомлений и обновлений в реальном времени с поддержкой как сообщений, так и лёгких сигналов

  • 👥 Управление пользователями и каналами - Управление профилями пользователей, метаданными каналов и связями членства с полным CRUD-операциями для построения сообществ и социальных функций. Кроме того, есть возможность просмотра и управления профилями пользователей, каналами и членствами в PubNub Admin Portal (требуется Manage Premium).

  • 📍 Присутствие и отслеживание активности - Мониторинг присутствия пользователей в реальном времени, просмотр того, кто онлайн в каналах, и отслеживание активности пользователей по вашему приложению

  • 📊 Аналитика и принятие решений в реальном времени - Вызов нужного действия в нужный момент, измерение его влияния и коррекция по мере изменения условий — всё в реальном времени. Требуется Illuminate.

  • 📈 Аналитика каналов, пользователей и сообщений - Выявление закономерностей в агрегированной активности приложения: топ-каналы и разбиение по странам, новые и повторяющиеся пользователи, распределение по устройствам — чтобы понимать вовлечённость, использование и производительность. Кроме того, доступны ограниченные метрики для просмотра в PubNub Admin Portal без Manage Premium; полная аналитика требует Manage Premium.

  • 🔍 Использование и мониторинг — Отслеживайте тарифицируемое использование по приложениям и наборам ключей, просматривайте текущее и историческое потребление и экспортируйте отчёты для понимания драйверов затрат.

  • 🔧 Мультии platform-интеграция - Работает с Cursor, Visual Studio Code, Claude Code и другими MCP-соответствующими AI-ассистентами

  • ⚡ Опыт разработчика - Реализован на TypeScript с поддержкой типизации, включает инфраструктуру для тестирования

Быстрый старт

Размещённый сервер PubNub MCP управляется PubNub и предоставляет самый простой способ начать работу — установка не требуется, а аутентификация обрабатывается автоматически через OAuth. Если ваш AI-инструмент не поддерживает удалённые MCP-серверы, используйте локальную версию (npx @pubnub/mcp@latest) вместо этого.

Примечание: Чтобы перейти к размещённому серверу (https://mcp.pubnub.com), сначала удалите старую локальную конфигурацию из вашего AI-клиента, затем следуйте нижеуказанным шагам настройки.

Размещённый PubNub MCP Server

Подключите вашего AI-помощника к https://mcp.pubnub.com — установка не требуется. Аутентификация обрабатывается автоматически через OAuth.

VS Code

Нажмите кнопку выше, затем выберите Open in Visual Studio Code. Вернувшись в VS Code, нажмите Install, затем выберите организацию, которую хотите авторизовать, и нажмите Allow access.

Либо вручную добавьте следующее в ваш VS Code settings.json:

{
  "mcp": {
    "servers": {
      "pubnub": {
        "url": "https://mcp.pubnub.com"
      }
    }
  }
}

Узнать больше в документации VS Code

Cursor

Нажмите кнопку выше, затем выберите Open Cursor. В Cursor нажмите Install, выберите организацию для авторизации и нажмите Allow access. Перейдите в Cursor Settings → Tools & MCP, чтобы проверить, что PubNub включён.

Либо вручную добавьте следующее в .cursor/mcp.json (или ~/.cursor/mcp.json для глобальной конфигурации):

{
  "mcpServers": {
    "pubnub": {
      "url": "https://mcp.pubnub.com"
    }
  }
}

После сохранения файла отображается уведомление. Нажмите Enable для активации MCP-сервера. Узнать больше в документации Cursor

Claude Code

В терминале выполните:

claude mcp add --scope user --transport http pubnub https://mcp.pubnub.com

Затем запустите claude, чтобы открыть Claude Code и введите /mcp. Выберите pubnub, затем authenticate, и нажмите Allow access для завершения авторизации. Узнать больше в документации Claude Code

Claude Desktop

Примечание: Приведённые ниже инструкции применимы к планам Pro и Max. Для планов Enterprise настройка выполняется администратором вашей организации. Подробности — в документации Anthropic.

  • В Claude Desktop перейдите к Customize → Connectors.

  • Нажмите + и выберите Add custom connector.

  • Введите https://mcp.pubnub.com в качестве URL-коннектора.

  • Завершите вход через OAuth, когда будет предложено.

Узнать больше в Claude Desktop documentation

Codex

В терминале выполните:

codex mcp add pubnub --url https://mcp.pubnub.com

Затем выполните codex mcp login pubnub для аутентификации, выберите организацию, которую хотите авторизовать, и нажмите Allow access. Узнать больше в Codex документации

Codex Desktop
  • Перейдите в Settings → MCP servers и нажмите + Add server.

  • Выберите тип транспорта Streamable HTTP.

  • Введите https://mcp.pubnub.com в качестве URL сервера.

  • Следуйте инструкциям OAuth для завершения авторизации.

Узнать больше в Codex Desktop documentation

Gemini CLI

В терминале выполните:

gemini mcp add pubnub --scope user --transport http https://mcp.pubnub.com

Затем запустите gemini для открытия Gemini CLI и выполните /mcp auth pubnub для аутентификации. Узнать больше в Gemini CLI documentation

OpenCode

Добавьте следующее в ~/.config/opencode/config.json:

{
  "mcp": {
    "pubnub": {
      "type": "remote",
      "url": "https://mcp.pubnub.com",
      "enabled": true
    }
  }
}

Затем запустите opencode mcp auth pubnub для аутентификации. Узнать больше в OpenCode документации

Локальный PubNub MCP Server

Если ваш AI-инструмент не поддерживает удалённые MCP-серверы, запустите сервер локально:

npx @pubnub/mcp@latest
API Key

Перед началом настоятельно рекомендуется создать Service Integration в PubNub Admin Portal и передать ваш API Key MCP-серверу. Хотя некоторые базовые функции будут работать и без него, добавление API Key открывает значительно больше возможностей. Либо обратитесь к Local server configuration для инструкций по настройке сервера под один PubNub keyset.

Процесс установки MCP-сервера зависит от используемого вами AI-помощника. Для стандартной настройки потребуется Node.js (версия 20.0.0 или выше).

VS Code

Просто нажмите ссылку выше, затем выберите «Open in Visual Studio Code» на появившейся странице. Вернувшись в VS Code, нажмите «Install». Вас попросят ввести ваш PubNub API Key. После ввода ваш MCP-сервер готов к использованию. Для дополнительных настроек смотрите Local server configuration.

Cursor

Нажмите ссылку выше, затем выберите «Open Cursor» на странице. В Cursor появится запрос на установку MCP Server. Укажите значение переменной, где хранится ваш PubNub API Key. Затем нажмите «Install». Теперь ваш MCP-сервер готов к использованию. Для дополнительных настроек смотрите Local server configuration.

Claude Code

Установив Claude Code, выполните эту команду, чтобы добавить MCP в вашу конфигурацию. Не забудьте заменить значение <your-api-key>:

--scope user --transport stdio -- npx -y @pubnub/mcp@latest">``` claude mcp add pubnub --env PUBNUB_API_KEY=<your-api-key> --scope user --transport stdio -- npx -y @pubnub/mcp@latest


Сервер добавляется в область "User", что означает доступность во всех проектах. Для дополнительных настроек смотрите [Local server configuration](https://www.pubnub.com/docs/ai/pubnub-mcp-server#local-server-configuration).

#### Codex

Установив Codex, запустите эту команду, чтобы добавить MCP в вашу конфигурацию. Не забудьте заменить `<your-api-key>`:

 -- npx -y @pubnub/mcp@latest">```
codex mcp add pubnub --env PUBNUB_API_KEY=<your-api-key> -- npx -y @pubnub/mcp@latest

Для дополнительных настроек смотрите Local server configuration.

Gemini CLI

Gemini CLI не поддерживает автоматическую установку MCP. Вам придётся вручную редактировать ваш файл settings.json и добавить следующий раздел. Не забудьте заменить <your-api-key>:

" } } }">``` "mcpServers": { "pubnub": { "command": "npx", "args": [ "-y", "@pubnub/mcp@latest" ], "env": { "PUBNUB_API_KEY": "<your-api-key>" } } }


Для дополнительных настроек смотрите раздел Local server configuration в документации PubNub.

## Разработка

### Требования

- Node.js >= 20.0.0

### Запуск локально

npm install npm run dev


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

| Переменная | Описание | Обязательна |
| --- | --- | --- |
| PORT | Порт HTTP-сервера (по умолчанию: 3000) | Нет |
| MCP_OAUTH_ENABLED | Включить аутентификацию OAuth | Да (для продакшн) |
| OAUTH_ISSUER | URL-адрес OAuth-сервера авторизации | Когда OAuth включён |
| OAUTH_CLIENT_ID | OAuth client ID | Когда OAuth включён |
| OAUTH_CLIENT_SECRET | OAuth client secret | Когда OAuth включён |
| ADMIN_API_RESOURCE_URL | Идентификатор ресурса Admin API | Когда OAuth включён |
| MCP_RESOURCE_URL | URL-адрес MCP-ресурса | Когда OAuth включён |
| MCP_CLOUD_MODE | Режим развертывания в облаке | Нет |
| MCP_SESSION_SUPPORT | Включить удержание сессий | Нет |
| ADMIN_API_V2_URL | Переопределить endpoint Admin API v2 | Нет |
| PUBNUB_ORIGIN | Переопределить PubNub origin | Нет |
| SDK_DOCS_API_URL | Переопределить endpoint docs API | Нет |

### Тестирование

npm run test:unit # Юнит-тесты npm run test:integration # Интеграционные тесты (требуется сборка) npm run test:coverage # Отчёт о покрытии тестами


## API Reference

Этот PubNub MCP-сервер предоставляет полный набор инструментов, ресурсов и подсказок, помогающих вам создавать приложения в реальном времени. Ниже приведён полный справочник по доступному функционалу:

### Инструменты

#### Доступ к документации

- **`get_sdk_documentation`** - Получить документацию PubNub Core SDK для конкретных языков программирования и функций

- **`get_chat_sdk_documentation`** - Получить документацию PubNub Chat SDK для конкретных языков и функций

- **`how_to`** - Получить концептуальные руководства PubNub для конкретных сценариев использования и интеграций

- **`write_pubnub_app`** - Получить руководство по лучшим практикам PubNub: архитектура, безопасность, моделирование каналов и оптимизация

- **`get_sdk_migration_guide`** - Получить гайды миграции версий SDK

- **`get_general_migration_guide`** - Получить общие гайды миграции платформы

#### Управление приложениями и набором ключей

- **`manage_apps`** - Управление PubNub-приложениями (список, создание, обновление)

- **`manage_keysets`** - Управление PubNub-наборами ключей (получение, список, создание, обновление)

- **`get_usage_metrics`** - Получение метрик использования аккаунта, приложения или набора ключей

#### Реальное время коммуникации

- **`send_pubnub_message`** - Отправка сообщений или лёгких сигналов в PubNub-каналы в реальном времени

- **`subscribe_and_receive_pubnub_messages`** - Подписка на каналы и получение сообщений в реальном времени с настраиваемым тайм-аутом и лимитами сообщений

- **`get_pubnub_messages`** - Получение исторических сообщений из одного или нескольких каналов PubNub

- **`get_pubnub_presence`** - Получение данных присутствия через HereNow (занятость канала) или WhereNow (каналы пользователя)

- **`manage_app_context`** - Управление PubNub App Context (Objects API) для пользователей, каналов и членства с полным CRUD

#### Illuminate Analytics & Automation

- **`manage_illuminate`** - Управление ресурсами PubNub Illuminate (бизнес-объекты, запросы, метрики, решения, панели инструментов) с полным CRUD, активацией, аналитическими запросами, просмотром журнала действий и публикацией тестовых данных

#### Insights Analytics

- **`insights`** - Запросы к PubNub Insights для агрегированной аналитики: уникальные каналы/пользователи, объём сообщений, топ-N по каналам, пользователям, типам сообщений, разбор по странам, новые vs. повторяющиеся пользователи, длительность пользователей и распределение по устройствам. Требуется API-ключ Service Integration с доступом на уровне Account к Insights Read и уровень Insights Premium.

### Подсказки (Prompts)

#### Здравоохранение и соответствие HIPAA

- **`hipaa-chat-short`** - Быстрая подсказка для создания HIPAA-совместимых чат-приложений

- **`hipaa-chat-long`** - Подробная подсказка для HIPAA-совместимого чата с Pub/Sub, Presence и App Context

#### React-разработка

- **`react-app-short`** - Сгенерировать приложение React с PubNub Pub/Sub и Presence

- **`react-app-long`** - Полноценное React-приложение с поддержкой реального времени, индикаторами присутствия и метаданными пользователей

#### Игровые приложения

- **`gamelobby-short`** - Создать мультиплеерную лобби-игру с чатами и присутствием

- **`gamelobby-long`** - Расширенная лобби-игра с распределением по командам и реальным временем

#### OEM и мульти-арендные решения

- **`oem-client-management`** - Создавайте приложения и настраивайте наборы ключей для развертываний OEM-клиентов

- **`multi-tenant-onboarding-short`** - Автоматизация онбординга арендаторов для SaaS-приложений

- **`multi-tenant-onboarding-long`** - Массивный онбординг с сегрегацией данных и обработкой ошибок

#### Illuminate Analytics & Automation

- **`illuminate-spam-detection`** - Настройка пайплайна обнаружения спама в Illuminate с усилением модерации

- **`illuminate-reward-engagement`** - Построение пайплайна вознаграждений за вовлечённость в событиях в реальном времени и гейминге

- **`illuminate-use-case`** - Пошаговая настройка любого использования Illuminate analytics и automation

- **`illuminate-test-verify`** - Тестирование и верификация существующей конфигурации Illuminate от начала до конца

#### Insights Analytics

- **`insights-snapshot`** - Быстрый обзор аналитики за заданный диапазон дат: уникальные каналы, уникальные пользователи, объём сообщений, топ-20 каналов по сообщениям, сигналы аномалий

- **`insights-channel-analysis`** - Глубокий анализ топ-каналов по категорирам рейтингов, паттернам именования каналов и сопоставлениям между категориями

- **`insights-user-growth`** - Новые vs. повторяющиеся пользователи, разбивки по день/неделя/месяц, топ-страны, идентификация "китов"

- **`insights-engagement-deep-dive`** - Средняя длительность пользователя, гистограмма длины сессий, топ-каналы по минутам пользователей и разбор по типу устройства для публикаций, подписок и уникальных пользователей

### Ресурсы

- **`pubnub_sdk_docs`** - Доступ к документации PubNub SDK через URI-схему: `pubnub-docs://sdk/{language}/{feature}`

**Supported languages**: asyncio, c-core, c-sharp, dart, freertos, go, java, javascript, kotlin, mbed, objective-c, php, posix-c, posix-cpp, python, ruby, rust, swift, unity, unreal, windows-c, windows-cpp

**Supported features**: access-manager, access-manager-v2, channel-groups, configuration, encryption, files, message-actions, misc, mobile-push, objects, presence, publish-and-subscribe, storage-and-playback

- **`pubnub_chat_sdk_docs`** - Доступ к документации PubNub Chat SDK через URI-схему: `pubnub-docs://chat-sdk/{language}/{feature}`

**Supported Languages**: javascript, kotlin, swift, unity, unreal

**Supported Features**: channels-create, channels-delete, channels-details, channels-invite, channels-join, channels-leave, channels-list, channels-membership, channels-references, channels-typing-indicator, channels-updates, channels-watch, connection-management, custom-events, error-logging, messages-delete, messages-details, messages-drafts, messages-files, messages-forward, messages-history, messages-links, messages-moderation, messages-pinned, messages-quotes, messages-reactions, messages-read-receipts, messages-restore, messages-send-receive, messages-threads, messages-unread, messages-updates, moderation, push-notifications, users-create, users-delete, users-details, users-list, users-mentions, users-moderation, users-moderation-user, users-permissions, users-presence, users-updates, utility-methods