PubNub MCP Server

by pubnub
Integrations
  • Provides formatted SDK documentation for PubNub's JavaScript SDK, allowing developers to access reference materials for methods like subscribe() and publish() from within Cursor IDE.

  • Supports PubNub functionality through Node.js, allowing users to publish messages to channels, subscribe to channels, fetch message history, and retrieve presence information.

  • Offers access to PubNub's Python SDK documentation, enabling users to fetch docs for methods like publish() directly through Cursor IDE.

PubNub Model Context Protocol (MCP)-Server für Cursor IDE

Dieses Repository bietet einen CLI-basierten Model Context Protocol (MCP)-Server, der PubNub SDK-Dokumentation und PubNub API-Ressourcen für LLM-basierte Tools bereitstellt. Dies verbessert die Fähigkeit des LLM AI Agent, die SDKs und APIs von PubNub zu verstehen und mit ihnen zu interagieren.

Merkmale

  • MCP-Server, der Tools für die Interaktion mit PubNub über JSON-RPC über STDIN/STDOUT bereitstellt.
  • Rufen Sie die offizielle PubNub SDK-Dokumentation (HTML → Markdown) ab für:
    • Sprachen: JavaScript, Python, Java, Go, Ruby, Swift, Objective-C, C#, PHP, Rust, Unity, Kotlin, Unreal.
    • API-Referenzabschnitte: Konfiguration, Veröffentlichen und Abonnieren, Präsenz, Zugriffsmanager, Kanalgruppen, Speicherung und Wiedergabe, Mobile-Push, Objekte, Dateien, Nachrichtenaktionen, Sonstiges, Funktionen.
  • Holen Sie sich konzeptionelle Leitfäden und Anleitungen zu PubNub aus lokalen Markdown-Dateien im resources (z. B. pubnub_concepts , pubnub_features , pubnub_security , how_to_send_receive_json , how_to_encrypt_messages_files usw.).
  • Veröffentlichen Sie Nachrichten in PubNub-Kanälen mit publish_pubnub_message und geben Sie ein Zeittoken zurück.
  • Rufen Sie mit get_pubnub_messages historische Nachrichten aus einem oder mehreren Kanälen ab und geben Sie Nachrichteninhalte und Metadaten in JSON zurück.
  • Rufen Sie mit get_pubnub_presence Echtzeit-Präsenzinformationen (Belegungszahlen, Abonnenten-UUIDs) für Kanäle und Kanalgruppen ab.
  • Generieren Sie Schritt-für-Schritt-Anleitungen zum Erstellen einer PubNub-Anwendung, einschließlich Codeausschnitten zum Initialisieren des PubNub SDK in mehreren Sprachen mit write_pubnub_app .
  • Konfiguration von Umgebungsvariablen: unterstützt PUBNUB_PUBLISH_KEY und PUBNUB_SUBSCRIBE_KEY zur Authentifizierung von SDK-Vorgängen.
  • Konvertiert Remote-HTML-Artikel mithilfe von jsdom und turndown in Markdown für eine konsistente Dokumentationsformatierung.
  • Eingabevalidierung über Zod-Schemata für alle Werkzeugparameter, wodurch eine robuste Fehlerbehandlung gewährleistet wird.
  • Erweiterbare Tooldefinitionen, die das Model Context Protocol SDK ( @modelcontextprotocol/sdk ) mit McpServer und StdioServerTransport nutzen.

Beispiel-Eingabeaufforderungen

  • „Schreiben Sie eine PubNub-App, mit der der Benutzer Streaming-Videos mit integriertem Mehrbenutzer-Chat mit PubNub ansehen kann.“
  • „Schreiben Sie eine PubNub-App für die On-Demand-Lieferung von Lebensmitteln mit einer Karte.“
  • „Schreiben Sie eine PubNub-App, die den Standort eines Pakets in Echtzeit verfolgt.“
  • „Schreiben Sie eine PubNub-App, die die Wettervorhersage in Echtzeit anzeigt.“
  • „Schreiben Sie eine PubNub-App, mit der Benutzer Multiplayer-Spiele mit Freunden spielen können.“
  • „Schreiben Sie eine PubNub-App, die Live-Aktienkurse und Nachrichten-Updates anzeigt.“
  • „Schreiben Sie eine PubNub-App, mit der Benutzer Wiedergabelisten erstellen und mit Freunden teilen können.“
  • „Erstellen Sie eine PubNub-JavaScript-App, die den Kanal my_channel abonniert und Nachrichten in der Konsole protokolliert.“
  • „Veröffentlichen Sie eine Nachricht im Kanal my_channel mit der Nachricht Hello, PubNub! “.“
  • „Zeigen Sie mir die PubNub JavaScript SDK-Dokumentation für subscribe() .“
  • „Listet alle verfügbaren PubNub-Funktionen auf.“
  • „Holen Sie sich die Python SDK-Dokumente für die Methode publish() .“
  • "Holen Sie den Nachrichtenverlauf für den test ."
  • "Rufen Sie Anwesenheitsinformationen (Belegung und UUIDs) für den test und die default ab."

Dies erfordert Node.js (>= 18) und npm ( https://nodejs.org/ ). npx ruft automatisch den neuesten MCP-Server ab und führt ihn aus.

Voraussetzungen

  • Node.js (>= 18) und npm
  • Cursor-IDE mit MCP-Unterstützung
  • (Optional) PubNub-Konto und API-Schlüssel für Live-Beispiele

Installation

Die bevorzugte Methode, den PubNub MCP-Server lokal auszuführen oder ihn über npx zur Cursor IDE hinzuzufügen:

npx -y @pubnub/mcp

Konfiguration

Der Cursor muss sich im AGENT-MODUS befinden, um MCP-Server verwenden zu können.

Cursor IDE erkennt MCP-Server über eine JSON-Konfigurationsdatei. Konfigurieren Sie den PubNub MCP-Server global oder pro Projekt.

Globale Konfiguration

Bearbeiten oder erstellen Sie ~/.cursor/mcp.json :

{ "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY", "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY" } } } }

Projektkonfiguration

Erstellen Sie in Ihrem Projektverzeichnis .cursor/mcp.json :

{ "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY", "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY" } } } }

Docker-basierte Konfiguration

Wenn Sie den MCP-Server lieber über Docker ausführen möchten, legen Sie Ihre PubNub-Schlüssel als Umgebungsvariablen fest:

export PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY export PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY

Konfigurieren Sie dann Ihre ~/.cursor/mcp.json (oder .cursor/mcp.json in Ihrem Projekt):

{ "mcpServers": { "pubnub": { "command": "docker", "args": [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ] } } }
  • command gibt die ausführbare Datei zum Starten des MCP-Servers an.
  • args gibt die an den Befehl zu übergebenden Argumente an.
  • env legt Umgebungsvariablen für den Serverprozess fest.

Verwendung in der Cursor-IDE

  1. Starten Sie Cursor IDE neu oder öffnen Sie eine neue Sitzung.
  2. Öffnen Sie den MCP-Einstellungsbereich und überprüfen Sie, ob der Pubnub -Server unter „Verfügbare Tools und Ressourcen“ aufgeführt ist.
  3. Rufen Sie im Chat verfügbare Ressourcen auf:
    • pubnub://docs/javascript – Fetch PubNub JavaScript SDK-Dokumentation
    • pubnub://docs/python – Fetch PubNub Python SDK-Dokumentation
    • pubnub://docs/java – Fetch PubNub Java SDK-Dokumentation
    • pubnub://functions – Liste der PubNub-Funktionen (statischer Inhalt aus resources/pubnub_functions.md )
  4. Genehmigen Sie die Ressourcenausführung, wenn Sie dazu aufgefordert werden, oder aktivieren Sie die automatische Ausführung in den Einstellungen für vertrauenswürdige Ressourcen.

Claude Code

## Install the MCP server if you have node >= 18 claude mcp add pubnub -e PUBNUB_PUBLISH_KEY=your_publish_key -e PUBNUB_SUBSCRIBE_KEY=your_subscribe_key -- npx -y @pubnub/mcp ## Install the MCP server if you have node < 18 and need to point to the full path of node claude mcp add pubnub -e PUBNUB_PUBLISH_KEY=your_publish_key -e PUBNUB_SUBSCRIBE_KEY=your_subscribe_key -- /Users/stephen/.nvm/versions/node/v22.14.0/bin/node /Users/stephen/Projects/mcp-pubnub/index.js ## Install the MCP server using Docker # Ensure your PubNub keys are set as environment variables: export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key # Depending on your machine’s CPU architecture, you may need to specify the target platform. # For example: # docker run --platform linux/arm64 -i pubnub/pubnub-mcp-server # docker run --platform linux/amd64 -i pubnub/pubnub-mcp-server claude mcp add pubnub -- docker run -i \ -e PUBNUB_PUBLISH_KEY=$PUBNUB_PUBLISH_KEY \ -e PUBNUB_SUBSCRIBE_KEY=$PUBNUB_SUBSCRIBE_KEY \ pubnub/pubnub-mcp-server

Und die Ausgabe wird sein:

Added stdio MCP server pubnub with command: npx -y @pubnub/mcp to local config

Beispiel-Eingabeaufforderung

claude "publish a message 'hi' to the 'my_channel' pubnub channel."
claude "publish a message 'hi' to the 'my_channel' pubnub channel." ╭───────────────────────────────────────────────────╮ │ ✻ Welcome to Claude Code research preview! │ │ │ │ /help for help, /status for your current setup │ │ │ │ cwd: /Users/stephen/Projects/mcp-pubnub │ ╰───────────────────────────────────────────────────╯ ※ Tip: Press Option+Enter to send a multi-line message > publish a message 'hi' to the 'my_channel' pubnub channel. ⏺ I'll publish a message to the PubNub channel for you. ⏺ pubnub:publish_pubnub_message (MCP)(channel: "my_channel", message: "hi")… ⎿  Message published successfully. Timetoken: 17467422499409217 ⏺ Message published successfully to "my_channel".

Entfernen Sie den MCP-Server mit:

claude mcp remove pubnub

Verwenden von Claude Desktop

Wenn Sie den Docker-basierten MCP-Server in Claude Desktop bevorzugen:

  1. Stellen Sie sicher, dass Ihre PubNub-Schlüssel in Ihre Shell exportiert werden:
    export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key
  2. Fügen Sie im Abschnitt „Tools“ von Claude Desktop ein neues Tool namens „pubnub“ hinzu.
  3. Setzen Sie den Befehl auf docker .
  4. Legen Sie die Argumente fest auf:
    [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ]

Hinweis: Auf manchen Rechnern (z. B. Apple Silicon) müssen Sie möglicherweise die Docker-Plattform angeben. Fügen Sie im Array „Argumente "run" --platform linux/arm64 (oder --platform linux/amd64 ) ein. Beispiel:

[ "run", "--platform", "linux/arm64", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ]
  1. Speichern Sie die Konfiguration.

Claude Desktop ruft den PubNub MCP-Servercontainer über Docker auf.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .

Fehlerbehebung

  • Um MCP-Server verwenden zu können, muss der Agentenmodus aktiviert sein.
  • Überprüfen Sie die Installation von Node.js und npm.
  • Stellen Sie sicher, dass index.js über Ausführungsberechtigung verfügt.
  • Überprüfen Sie, ob die command , args und env korrekt sind.
  • Überprüfen Sie die Cursor-IDE-Protokolle auf MCP-Startfehler.

Direkte JSON-RPC-Befehlszeilenverwendung

Sie können den MCP-Server direkt über STDIN/STDOUT mit JSON-RPC v2.0 aufrufen. Stellen Sie sicher, dass Ihre PubNub-Schlüssel in der Umgebung festgelegt sind, zum Beispiel:

PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY \ PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ node index.js

Sobald der Server läuft (oder einen einmaligen Aufruf verwendet), senden Sie Anfragen, indem Sie JSON in node index.js weiterleiten. Beispiele:

# 1) List available tools echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \ | node index.js # 2) Read PubNub JavaScript SDK documentation echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params": {"name":"read_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' \ | node index.js # 3) Read PubNub Functions Resource docs (static Markdown) echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"read_pubnub_resources","arguments":{"document":"pubnub_functions"}}}' \ | node index.js

Schnelle JSON-RPC-Beispiele

Nachfolgend finden Sie vereinfachte JSON-RPC v2.0-Befehlszeilenbeispiele mit STDIN/STDOUT zum Abrufen der PubNub SDK-Dokumentation und Veröffentlichen von Nachrichten.

1) Holen Sie sich die PubNub JavaScript SDK-Dokumentation

echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"read_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' | node index.js

2) Veröffentlichen Sie eine Nachricht in einem PubNub-Kanal

PUBNUB_PUBLISH_KEY=demo \ PUBNUB_SUBSCRIBE_KEY=demo \ echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"publish_pubnub_message","arguments":{"channel":"my_channel","message":"Hello, PubNub MCP JSON-RPC!"}}}' \ | node index.js

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein CLI-basierter Model Context Protocol-Server, der PubNub SDK-Dokumentation und Funktionsressourcen für LLM-basierte Tools wie Cursor IDE verfügbar macht und es Benutzern ermöglicht, Dokumentation abzurufen und über Eingabeaufforderungen in natürlicher Sprache mit PubNub-Kanälen zu interagieren.

  1. Merkmale
    1. Beispiel-Eingabeaufforderungen
      1. Voraussetzungen
        1. Installation
          1. Konfiguration
            1. Globale Konfiguration
            2. Projektkonfiguration
            3. Docker-basierte Konfiguration
          2. Verwendung in der Cursor-IDE
            1. Claude Code
              1. Beispiel-Eingabeaufforderung
            2. Verwenden von Claude Desktop
              1. Lizenz
                1. Fehlerbehebung
                  1. Direkte JSON-RPC-Befehlszeilenverwendung
                    1. Schnelle JSON-RPC-Beispiele
                      1. 1) Holen Sie sich die PubNub JavaScript SDK-Dokumentation
                      2. 2) Veröffentlichen Sie eine Nachricht in einem PubNub-Kanal

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      A simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.
                      Last updated -
                      Python
                      • Apple
                      • Linux
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A customized MCP server that enables integration between LLM applications and documentation sources, providing AI-assisted access to LangGraph and Model Context Protocol documentation.
                      Last updated -
                      Python
                      • Linux
                      • Apple
                    • A
                      security
                      A
                      license
                      A
                      quality
                      A Model Context Protocol server that loads multiple OpenAPI specifications and exposes them to LLM-powered IDE integrations, enabling AI to understand and work with your APIs directly in development tools like Cursor.
                      Last updated -
                      7
                      292
                      7
                      TypeScript
                      MIT License

                    View all related MCP servers

                    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