Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

PubNub MCP Server

NPM · @PUBNUB/MCP · SCANNED SEP 24

PubNub Model Context Protocol MCP Server for Cursor and Claude

Available components

0 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 51 of 148 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
Schema Quality & AI Usability84
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 12759 tokens (~25/item across 508 items; 12 tools + 496 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 88% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_pubnub_message" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the PubNub MCP Server server?

PubNub MCP Server runs locally as an npm package, launched with npx -y @pubnub/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @pubnub/mcp

# add to Claude Code
claude mcp add pubnub-mcp-server -- npx -y @pubnub/mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "pubnub-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@pubnub/mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "pubnub-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@pubnub/mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add pubnub-mcp-server -- npx -y @pubnub/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pubnub-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@pubnub/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add pubnub-mcp-server --command npx --arg -y --arg @pubnub/mcp
# ~/.hermes/config.yaml
mcp_servers:
  pubnub-mcp-server:
    command: "npx"
    args: ["-y", "@pubnub/mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "pubnub-mcp-server": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@pubnub/mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add pubnub-mcp-server -t stdio -c npx -a -y @pubnub/mcp
// mcp.json
{
  "mcpServers": {
    "pubnub-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@pubnub/mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 24 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Sept 2026 · Analysed npm/@pubnub/mcp@2.3.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 148 packages
Packages resolved 148
Stale 51
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 12 exposed · ~2,528 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_chat_sdk_documentation ~220

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.

NameTypeReqDescription
featurestringyes
languagestringyes

No output schema declared.

No examples provided.

get_pubnub_messages ~211

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.

NameTypeReqDescription
channelsarrayyesList of channel names to fetch history from
countnumberNumber of historical messages to return per channel
endstringTimetoken delimiting the end (inclusive) of the time slice to pull messages from
publishKeystringyesPublish Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
startstringTimetoken delimiting the start (exclusive) of the time slice to pull messages from
subscribeKeystringyesSubscribe Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal

No output schema declared.

No examples provided.

get_pubnub_presence ~195

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.

NameTypeReqDescription
channelGroupsarrayList of channel group names (strings) to query presence data for
channelsarrayList of channel names (strings) to query presence data for
publishKeystringyesPublish Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
subscribeKeystringyesSubscribe Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
uuidstringUUID to query channel subscriptions for (WhereNow)

No output schema declared.

No examples provided.

get_sdk_documentation ~165

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.

NameTypeReqDescription
featurestringyes
languagestringyes

No output schema declared.

No examples provided.

get_usage_metrics ~256

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

NameTypeReqDescription
appIdstringThe app ID to fetch metrics for. Required when scope='app'.
endstringyesEnd date in YYYY-MM-DD format.
keysetIdstringThe keyset (key) ID to fetch metrics for. Required when scope='keyset'.
scopestringyesScope of the metrics: 'app' to fetch metrics for an app, 'keyset' to fetch metrics for a keyset.
startstringyesStart date in YYYY-MM-DD format.
usageTypestringyesType of usage metrics: 'monthly_active_users' for chat, 'transaction' for other use cases.

No output schema declared.

No examples provided.

how_to ~139

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`

NameTypeReqDescription
slugstringyes

No output schema declared.

No examples provided.

manage_app_context ~367

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.

NameTypeReqDescription
dataData object for set/remove operations. For users: {name, email, externalId, profileUrl, custom}. For channels: {name, description, custom}. For memberships: {channels: [...]} — set operations accept…
idstringyesIdentifier: UUID (defaults to the SDK-configured user when omitted) for users and membership operations, channel metadata id (for example, team.red) for channel metadata and channel member operations
operationstringyesOperation to perform: "get" to retrieve, "set" to create/update, "remove" to delete, "getAll" to list all
optionsobjectOptional parameters for the operation
publishKeystringyesPublish Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
subscribeKeystringyesSubscribe Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
typestringyesType of App Context object: "user" for user metadata, "channel" for channel metadata, "membership" for user-channel relationships

No output schema declared.

No examples provided.

manage_apps ~138

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.

NameTypeReqDescription
dataOperation-specific data. For 'list': not required. For 'create': {name}. For 'update': {id, name}.
operationstringyesOperation to perform: 'list' to list all apps, 'create' to create a new app, 'update' to update an existing app.

No output schema declared.

No examples provided.

manage_keysets ~259

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.

NameTypeReqDescription
dataOperation-specific data. For 'get': {id}. For 'list': {appId?}. For 'create': {name, appId?, type, config}. For 'update': {id, config}.
operationstringyesOperation to perform: 'get' to get specific keyset information, 'list' to list keysets, 'create' to create a new keyset, 'update' to update an existing keyset.

No output schema declared.

No examples provided.

send_pubnub_message ~185

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.

NameTypeReqDescription
channelstringyesChannel ID to publish message to
messageyesMessage payload (can be any JSON-serializable value or plain string)
publishKeystringyesPublish Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
subscribeKeystringyesSubscribe Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
typestringType of message to publish: 'message' for regular messages or 'signal' for lightweight signals

No output schema declared.

No examples provided.

subscribe_and_receive_pubnub_messages ~215

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.

NameTypeReqDescription
channelstringyesChannel ID to subscribe to and receive messages from
messageCountnumberNumber of messages to wait for before unsubscribing (default: 1 message)
publishKeystringyesPublish Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
subscribeKeystringyesSubscribe Key that can be obtained from your keyset by manage_keysets tool with parameter operation list or in PubNub admin portal
timeoutnumberMaximum timeout in seconds. If not all messages are received within this time, the subscription will end (default: 10 seconds, max 30 seconds)

No output schema declared.

No examples provided.

write_pubnub_app ~178

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Common questions

What is the PubNub MCP Server server?

PubNub MCP Server is listed in the public MCP registry as io.github.pubnub/mcp-server. PubNub Model Context Protocol MCP Server for Cursor and Claude. This page covers its npm package (@pubnub/mcp).

Is the PubNub MCP Server server safe to use?

PubNub MCP Server scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 24 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the PubNub MCP Server server expose?

PubNub MCP Server exposes 12 tools: get_sdk_documentation, get_chat_sdk_documentation, how_to, write_pubnub_app, manage_apps, and 7 more. Their descriptions and schemas cost roughly 2,528 tokens of context every time the server is loaded.

Is the PubNub MCP Server server still maintained?

PubNub MCP Server is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.