Skip to main content
Glama

PubNub MCP Server

by pubnub

MCP サーバー ロゴ

カーソル IDE 用の PubNub モデル コンテキスト プロトコル (MCP) サーバー

このリポジトリは、PubNub SDKドキュメントとPubNub APIリソースをLLM対応ツールに公開するCLIベースのモデルコンテキストプロトコル(MCP)サーバーを提供します。これにより、LLM AIエージェントがPubNubのSDKとAPIを理解し、操作する能力が向上します。

PubNub MCP あり vs なし

特徴

  • STDIN/STDOUT 経由の JSON-RPC を介して PubNub と対話するためのツールを公開する MCP サーバー。
  • 公式 PubNub SDK ドキュメント (HTML → Markdown) を取得します。
    • 言語: JavaScript、Python、Java、Go、Ruby、Swift、Objective-C、C#、PHP、Rust、Unity、Kotlin、Unreal。
    • API リファレンス セクション: 構成、パブリッシュおよびサブスクライブ、プレゼンス、アクセス マネージャー、チャネル グループ、ストレージおよび再生、モバイル プッシュ、オブジェクト、ファイル、メッセージ アクション、その他、関数。
  • resourcesディレクトリ内のローカル マークダウン ファイルから PubNub の概念ガイドとハウツー ドキュメントを取得します (例: pubnub_conceptspubnub_featurespubnub_securityhow_to_send_receive_jsonhow_to_encrypt_messages_filesなど)。
  • publish_pubnub_messageを使用して PubNub チャネルにメッセージを公開し、タイムトークンを返します。
  • get_pubnub_messagesを使用して 1 つ以上のチャネルから履歴メッセージを取得し、メッセージの内容とメタデータを JSON 形式で返します。
  • get_pubnub_presenceを使用して、チャネルおよびチャネル グループのリアルタイムのプレゼンス情報 (占有数、サブスクライバー UUID) を取得します。
  • write_pubnub_appを使用して複数の言語で PubNub SDK を初期化するためのコード スニペットを含む、PubNub アプリケーションを作成するためのステップバイステップの手順を生成します。
  • 環境変数の構成: SDK 操作の認証にPUBNUB_PUBLISH_KEYPUBNUB_SUBSCRIBE_KEYをサポートします。
  • ドキュメントのフォーマットの一貫性を保つために、 jsdomturndownを使用してリモート HTML 記事を Markdown に変換します。
  • すべてのツールパラメータに対して Zod スキーマによる入力検証を実行し、堅牢なエラー処理を保証します。
  • McpServerおよびStdioServerTransportを使用した Model Context Protocol SDK ( @modelcontextprotocol/sdk ) を活用した拡張可能なツール定義。

プロンプトの例

  • 「PubNub のマルチユーザー チャットを組み込んだストリーミング ビデオをユーザーが視聴できる PubNub アプリを作成します。」
  • 「地図を使って食料品をオンデマンドで配達する PubNub アプリを作成します。」
  • 「荷物の位置をリアルタイムで追跡する PubNub アプリを作成します。」
  • 「リアルタイムで天気予報を表示する PubNub アプリを作成します。」
  • 「ユーザーが友達とマルチプレイヤー ゲームをプレイできる PubNub アプリを作成します。」
  • 「株価とニュースの最新情報をリアルタイムで表示する PubNub アプリを作成します。」
  • 「ユーザーがプレイリストを作成して友人と共有できる PubNub アプリを作成します。」
  • my_channelチャネルをサブスクライブし、コンソールにメッセージを記録する PubNub JavaScript アプリを構築します。」
  • Hello, PubNub!というメッセージをmy_channelチャネルに公開します。」
  • subscribe()の PubNub JavaScript SDK ドキュメントを表示してください。」
  • 「利用可能なすべての PubNub 関数を一覧表示します。」
  • publish()メソッドの Python SDK ドキュメントを取得します。」
  • testチャネルのメッセージ履歴を取得します。」
  • testチャネルとdefaultチャネル グループのプレゼンス情報 (占有状況と UUID) を取得します。」

これには Node.js (>= 18) と npm ( https://nodejs.org/ ) が必要です。npx npx最新の MCP サーバーを自動的に取得して実行します。

前提条件

  • Node.js (>= 18) と npm
  • MCP をサポートするカーソル IDE
  • (オプション) ライブサンプル用の PubNub アカウントと API キー

インストール

PubNub MCP サーバーをローカルで実行したり、npx 経由で Cursor IDE に追加したりするための推奨方法は次のとおりです。

npx -y @pubnub/mcp

構成

MCP サーバーを使用するには、カーソルがエージェント モードになっている必要があります。

Cursor IDE は JSON 設定ファイルを介して MCP サーバーを検出します。PubNub MCP サーバーをグローバルまたはプロジェクトごとに設定できます。

グローバル構成

~/.cursor/mcp.jsonを編集または作成します。

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

プロジェクト構成

プロジェクト ディレクトリに.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ベースの構成

MCP サーバーを Docker 経由で実行する場合は、PubNub キーを環境変数として設定します。

export PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY export PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY

次に、 ~/.cursor/mcp.json (またはプロジェクト内の.cursor/mcp.json ) を設定します。

{ "mcpServers": { "pubnub": { "command": "docker", "args": [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ] } } }
  • command 、MCP サーバーを起動する実行可能ファイルを指定します。
  • argsコマンドに渡す引数を指定します。
  • envサーバープロセスの環境変数を設定します。

カーソルIDEでの使用

  1. カーソル IDE を再起動するか、新しいセッションを開きます。
  2. MCP 設定ペインを開き、 pubnubサーバーが**[利用可能なツールとリソース]**の下にリストされていることを確認します。
  3. チャットで利用可能なリソースを呼び出します。
    • pubnub://docs/javascript — PubNub JavaScript SDK ドキュメントを取得します
    • pubnub://docs/python — PubNub Python SDK ドキュメントを取得します
    • pubnub://docs/java — PubNub Java SDK ドキュメントを取得します
    • pubnub://functions — PubNub 関数の一覧を表示します( resources/pubnub_functions.mdからの静的コンテンツ)
  4. プロンプトが表示されたらリソースの実行を承認するか、信頼できるリソースの設定で自動実行を有効にします。

クロード・コード

## 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

出力は次のようになります。

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

プロンプトの例

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".

次のコマンドで MCP サーバーを削除します。

claude mcp remove pubnub

Claudeデスクトップの使用

Claude Desktop の Docker ベースの MCP サーバーを希望する場合:

  1. PubNub キーがシェルにエクスポートされていることを確認します。
    export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key
  2. Claude Desktop のツールセクションで、 pubnubという名前の新しいツールを追加します。
  3. コマンドdockerに設定します。
  4. 引数を次のように設定します:
    [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ]

**注:**一部のマシン(例:Apple Silicon)では、Dockerプラットフォームの指定が必要になる場合があります。Arguments配列の"run"の直後に--platform linux/arm64 (または--platform linux/amd64 )を追加してください。例:

[ "run", "--platform", "linux/arm64", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ]
  1. 設定を保存します。

Claude Desktop は、Docker 経由で PubNub MCP サーバー コンテナーを呼び出します。

ライセンス

このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。

トラブルシューティング

  • MCP サーバーを使用するにはエージェント モードにする必要があります。
  • Node.js と npm のインストールを確認します。
  • index.jsに実行権限があることを確認します。
  • commandargs 、およびenv設定が正しいことを確認します。
  • MCP 起動エラーについては、カーソル IDE ログを確認します。

JSON-RPC コマンドラインの直接使用

JSON-RPC v2.0 を使用すると、STDIN/STDOUT 経由で MCP サーバーを直接呼び出すことができます。PubNub キーが環境に設定されていることを確認してください。例:

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

サーバーが起動したら(または1回限りの呼び出しを使用したら)、JSONをnode index.jsにパイプしてリクエストを送信します。例:

# 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

簡単なJSON-RPCの例

以下は、STDIN/STDOUT を使用して PubNub SDK ドキュメントを取得し、メッセージを公開する簡略化された JSON-RPC v2.0 コマンドラインの例です。

1) PubNub JavaScript SDKドキュメントを取得する

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

2) PubNubチャネルにメッセージを公開する

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
Install Server
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.

PubNub SDK ドキュメントと関数リソースを Cursor IDE などの LLM 対応ツールに公開する CLI ベースのモデル コンテキスト プロトコル サーバー。これにより、ユーザーはドキュメントを取得したり、自然言語プロンプトを使用して PubNub チャネルと対話したりできるようになります。

  1. 特徴
    1. プロンプトの例
      1. 前提条件
        1. インストール
          1. 構成
            1. グローバル構成
            2. プロジェクト構成
            3. Dockerベースの構成
          2. カーソルIDEでの使用
            1. クロード・コード
              1. プロンプトの例
            2. Claudeデスクトップの使用
              1. ライセンス
                1. トラブルシューティング
                  1. JSON-RPC コマンドラインの直接使用
                    1. 簡単なJSON-RPCの例
                      1. 1. PubNub JavaScript SDKドキュメントを取得する
                      2. 2. PubNubチャネルにメッセージを公開する

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Model Context Protocol server that integrates with Cursor IDE, providing real-time communication, modern web dashboards, and extensible tools via SSE and WebSocket connections.
                      Last updated -
                      738
                      1
                      Python
                    • A
                      security
                      A
                      license
                      A
                      quality
                      A Model Context Protocol (MCP) server for Cursor IDE that simplifies the installation and configuration of other MCP servers.
                      Last updated -
                      3
                      231
                      63
                      JavaScript
                      MIT License
                      • Apple
                      • Linux
                    • -
                      security
                      F
                      license
                      -
                      quality
                      Allows LLM tools like Claude Desktop and Cursor AI to access and summarize code files through a Model Context Protocol server, providing structured access to codebase content without manual copying.
                      Last updated -
                      1
                      TypeScript
                      • 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
                      24
                      53
                      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