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