Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HTTP_PORTNoPort number to enable Server-Sent Events (SSE) HTTP transport mode
PUBNUB_PUBLISH_KEYNoYour PubNub publish key (required for publishing messages)
PUBNUB_SUBSCRIBE_KEYNoYour PubNub subscribe key (required for subscribing and message history)
MCP_SUBSCRIBE_ANALYTICS_DISABLEDNoSet to 'true' to disable the PubNub server analytics subscription

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_sdk_documentation

Retrieve Core SDK documentation for low-level real-time features.

  **When to use:**
  - Building NON-CHAT real-time apps (IoT, gaming state sync, live analytics, notifications)
  - Need fine-grained control over pub/sub, presence, storage, or access management
  - Implementing custom real-time patterns
  - Need API reference for specific SDK methods (publish, subscribe, history, etc.)

  **Do NOT use for:**
  - Chat/messaging apps → use "get_chat_sdk_documentation" instead
  - Conceptual guides → use "how_to"

  Returns code examples, API references, and implementation guides for the specified language/feature combination.
get_chat_sdk_documentation

Retrieve Chat SDK documentation for building chat/messaging applications.

  **When to use:**
  - Building ANY chat or messaging application (1:1, group, channels)
  - Need typing indicators, read receipts, @mentions, unread counts
  - Want message threads, reactions, pinned messages, moderation
  - Need user/channel management with chat-specific features
  - Prefer rapid development with intuitive methods like sendText(), startTyping(), join()

  **Do NOT use for:**
  - Non-chat real-time apps (IoT, gaming state, analytics) → use "get_sdk_documentation"
  - Conceptual guides → use "how_to"

  **Example features:**
  - messages-send-receive, messages-threads, messages-reactions
  - channels-create, channels-join, channels-typing-indicator
  - users-mentions, users-presence

  Returns code examples and API references for the specified language/feature.
how_to

Retrieve conceptual guides for specific PubNub use cases and integrations. When to use: - Learning how to implement a specific use case (gaming, healthcare, IoT) - Need step-by-step integration guide for a platform (Unity, Unreal etc) - Understanding PubNub features in context (presence, push notifications, functions)

  **Do NOT use for:**
  - API reference or code samples of a specific PubNub features → use `get_sdk_documentation` or `get_chat_sdk_documentation`
  - General best practices → use `write_pubnub_app`
  
write_pubnub_app

Retrieve PubNub best practices guide covering: 1) Architecture & project setup (environments, payload sizes), 2) Security (Access Manager tokens, least privilege, PII hygiene), 3) Channel & data modeling (naming conventions, message schemas), 4) Publish/Subscribe patterns, 5) History usage, 6) Client reliability (reconnect, idempotency, ordering), 7) Functions/edge logic, 8) Presence & state, 9) App Context, 10) Mobile specifics (push notifications, caching), 11) Web specifics (tab lifecycle, Service Workers), 12) Observability & ops, 13) Performance & cost optimization. Call this tool when building PubNub applications to ensure robust, scalable, and secure implementations.

manage_apps

Manages PubNub apps with operations: list, create, update. - 'list': List all apps on your account. - 'create': Create a new app. User must provide data.name. - 'update': Update an existing app name. User must provide data.id and data.name.

manage_keysets

Manages PubNub keysets with operations: get, list, create, update. - 'get': Get a specific keyset information. User needs to provide the keyset id. - 'list': List all keysets for your account or a specific app. - 'create': Create a new keyset. New keyset is created with Message Persistence, App Context, Files, and Presence enabled by default; the user must provide name, production, and config with nested objects (messagePersistence, appContext, files, presence), and if any required parameter is missing, you must ask the user to provide it. - 'update': Update an existing keyset. User needs to provide the keyset id and the config to update.

get_usage_metrics

Fetches usage metrics from the PubNub Provisioning API.

  **Parameters:**
  - scope: 'app' or 'keyset' (determines which ID to use)
  - appId: Required when scope='app'
  - keysetId: Required when scope='keyset'
  - usageType: 'monthly_active_users' (for chat) or 'transaction' (for other use cases)
  - start: Start date in YYYY-MM-DD format
  - end: End date in YYYY-MM-DD format
manage_app_context

Manages PubNub App Context (Objects API) for users, channels, and memberships. Supports CRUD operations including get, set, remove, and getAll. Use this tool to manage user profiles, channel metadata, and membership relationships in your PubNub application.

send_pubnub_message

Send a message or signal to a PubNub channel in real-time. Supports both regular messages and lightweight signals. Plain strings are automatically wrapped in a 'text' field. Requires publish and subscribe keys from your PubNub keyset.

get_pubnub_presence

Retrieves real-time presence information. Use 'channels'/'channelGroups' for HereNow (occupancy/users in channel) and/or 'uuid' for WhereNow (channels a user is in). Returns presence data in JSON format. Requires publish and subscribe keys from your PubNub keyset.

subscribe_and_receive_pubnub_messages

Subscribe to a PubNub channel and receive messages in real-time. Specify the number of messages (default 1) and/or a timeout (default 10s, max 30s) to wait for. Requires publish and subscribe keys from your PubNub keyset.

get_pubnub_messages

Fetches historical messages from one or more PubNub channels. Call this tool whenever you need to access past message history. Provide a list of channel names. Returns message content and metadata in JSON format. Supports pagination with start/end timetokens and count limit.

Prompts

Interactive templates invoked by user choice

NameDescription
hipaa-chat-shortExample of how to prompt PubNub MCP to create a HIPAA compliant chat application - short version
hipaa-chat-longExample of how to prompt PubNub MCP to create a HIPAA compliant chat application - long version
react-app-shortExample of how to scaffold a React application with PubNub Pub/Sub and Presence - short version
react-app-longExample of how to scaffold a React application with PubNub Pub/Sub and Presence - long version
gamelobby-shortExample of how to build a multiplayer game lobby with chat and presence - short version
gamelobby-longExample of how to build a multiplayer game lobby with chat and presence - long version
oem-client-managementExample of how to create apps and configure keysets for OEM clients
multi-tenant-onboarding-shortExample of how to implement automated tenant onboarding for multi-tenant applications - short version
multi-tenant-onboarding-longExample of how to implement automated tenant onboarding for multi-tenant applications - long version

Resources

Contextual data attached and managed by the client

NameDescription
asyncio_access-manager_docsPubNub sdk documentation for access-manager in asyncio
asyncio_channel-groups_docsPubNub sdk documentation for channel-groups in asyncio
asyncio_configuration_docsPubNub sdk documentation for configuration in asyncio
asyncio_files_docsPubNub sdk documentation for files in asyncio
asyncio_message-actions_docsPubNub sdk documentation for message-actions in asyncio
asyncio_misc_docsPubNub sdk documentation for misc in asyncio
asyncio_mobile-push_docsPubNub sdk documentation for mobile-push in asyncio
asyncio_presence_docsPubNub sdk documentation for presence in asyncio
asyncio_publish_docsPubNub sdk documentation for publish in asyncio
asyncio_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in asyncio
asyncio_subscribe_docsPubNub sdk documentation for subscribe in asyncio
c-core_access-manager_docsPubNub sdk documentation for access-manager in c-core
c-core_channel-groups_docsPubNub sdk documentation for channel-groups in c-core
c-core_configuration_docsPubNub sdk documentation for configuration in c-core
c-core_encryption_docsPubNub sdk documentation for encryption in c-core
c-core_misc_docsPubNub sdk documentation for misc in c-core
c-core_presence_docsPubNub sdk documentation for presence in c-core
c-core_publish_docsPubNub sdk documentation for publish in c-core
c-core_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in c-core
c-core_subscribe_docsPubNub sdk documentation for subscribe in c-core
c-sharp_access-manager_docsPubNub sdk documentation for access-manager in c-sharp
c-sharp_appcontext-channel_docsPubNub sdk documentation for appcontext-channel in c-sharp
c-sharp_appcontext-members_docsPubNub sdk documentation for appcontext-members in c-sharp
c-sharp_appcontext-memberships_docsPubNub sdk documentation for appcontext-memberships in c-sharp
c-sharp_appcontext-user_docsPubNub sdk documentation for appcontext-user in c-sharp
c-sharp_channel-groups_docsPubNub sdk documentation for channel-groups in c-sharp
c-sharp_configuration_docsPubNub sdk documentation for configuration in c-sharp
c-sharp_encryption_docsPubNub sdk documentation for encryption in c-sharp
c-sharp_files_docsPubNub sdk documentation for files in c-sharp
c-sharp_message-actions_docsPubNub sdk documentation for message-actions in c-sharp
c-sharp_misc_docsPubNub sdk documentation for misc in c-sharp
c-sharp_mobile-push_docsPubNub sdk documentation for mobile-push in c-sharp
c-sharp_presence_docsPubNub sdk documentation for presence in c-sharp
c-sharp_publish_docsPubNub sdk documentation for publish in c-sharp
c-sharp_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in c-sharp
c-sharp_subscribe_docsPubNub sdk documentation for subscribe in c-sharp
dart_access-manager_docsPubNub sdk documentation for access-manager in dart
dart_appcontext-channel_docsPubNub sdk documentation for appcontext-channel in dart
dart_appcontext-members_docsPubNub sdk documentation for appcontext-members in dart
dart_appcontext-memberships_docsPubNub sdk documentation for appcontext-memberships in dart
dart_appcontext-user_docsPubNub sdk documentation for appcontext-user in dart
dart_channel-groups_docsPubNub sdk documentation for channel-groups in dart
dart_configuration_docsPubNub sdk documentation for configuration in dart
dart_encryption_docsPubNub sdk documentation for encryption in dart
dart_files_docsPubNub sdk documentation for files in dart
dart_message-actions_docsPubNub sdk documentation for message-actions in dart
dart_misc_docsPubNub sdk documentation for misc in dart
dart_mobile-push_docsPubNub sdk documentation for mobile-push in dart
dart_presence_docsPubNub sdk documentation for presence in dart
dart_publish_docsPubNub sdk documentation for publish in dart
dart_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in dart
dart_subscribe_docsPubNub sdk documentation for subscribe in dart
freertos_channel-groups_docsPubNub sdk documentation for channel-groups in freertos
freertos_configuration_docsPubNub sdk documentation for configuration in freertos
freertos_misc_docsPubNub sdk documentation for misc in freertos
freertos_presence_docsPubNub sdk documentation for presence in freertos
freertos_publish_docsPubNub sdk documentation for publish in freertos
freertos_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in freertos
freertos_subscribe_docsPubNub sdk documentation for subscribe in freertos
go_access-manager_docsPubNub sdk documentation for access-manager in go
go_appcontext-channel_docsPubNub sdk documentation for appcontext-channel in go
go_appcontext-members_docsPubNub sdk documentation for appcontext-members in go
go_appcontext-memberships_docsPubNub sdk documentation for appcontext-memberships in go
go_appcontext-user_docsPubNub sdk documentation for appcontext-user in go
go_channel-groups_docsPubNub sdk documentation for channel-groups in go
go_configuration_docsPubNub sdk documentation for configuration in go
go_encryption_docsPubNub sdk documentation for encryption in go
go_files_docsPubNub sdk documentation for files in go
go_message-actions_docsPubNub sdk documentation for message-actions in go
go_misc_docsPubNub sdk documentation for misc in go
go_mobile-push_docsPubNub sdk documentation for mobile-push in go
go_presence_docsPubNub sdk documentation for presence in go
go_publish_docsPubNub sdk documentation for publish in go
go_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in go
go_subscribe_docsPubNub sdk documentation for subscribe in go
java_access-manager_docsPubNub sdk documentation for access-manager in java
java_appcontext-channel_docsPubNub sdk documentation for appcontext-channel in java
java_appcontext-members_docsPubNub sdk documentation for appcontext-members in java
java_appcontext-memberships_docsPubNub sdk documentation for appcontext-memberships in java
java_appcontext-user_docsPubNub sdk documentation for appcontext-user in java
java_channel-groups_docsPubNub sdk documentation for channel-groups in java
java_configuration_docsPubNub sdk documentation for configuration in java
java_encryption_docsPubNub sdk documentation for encryption in java
java_files_docsPubNub sdk documentation for files in java
java_message-actions_docsPubNub sdk documentation for message-actions in java
java_misc_docsPubNub sdk documentation for misc in java
java_mobile-push_docsPubNub sdk documentation for mobile-push in java
java_presence_docsPubNub sdk documentation for presence in java
java_publish_docsPubNub sdk documentation for publish in java
java_storage-and-playback_docsPubNub sdk documentation for storage-and-playback in java
java_subscribe_docsPubNub sdk documentation for subscribe in java
javascript_access-manager_docsPubNub sdk documentation for access-manager in javascript
javascript_appcontext-channel_docsPubNub sdk documentation for appcontext-channel in javascript
javascript_appcontext-members_docsPubNub sdk documentation for appcontext-members in javascript
javascript_appcontext-memberships_docsPubNub sdk documentation for appcontext-memberships in javascript
javascript_appcontext-user_docsPubNub sdk documentation for appcontext-user in javascript
javascript_channel-groups_docsPubNub sdk documentation for channel-groups in javascript
javascript_configuration_docsPubNub sdk documentation for configuration in javascript
javascript_encryption_docsPubNub sdk documentation for encryption in javascript
javascript_files_docsPubNub sdk documentation for files in javascript

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pubnub/pubnub-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server