PubNub MCP Server

by stephenlb

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.

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

このリポジトリは、PubNub SDKのドキュメントとPubNub FunctionsのリソースをLLM対応ツールに公開する、CLIベースのモデルコンテキストプロトコル(MCP)サーバーを提供します。このサーバーをCursor IDEに追加することで、以下のことが可能になります。

  • フォーマットされた PubNub JavaScript、Python、および Java SDK ドキュメントを取得します。
  • 静的な Markdown ファイルから PubNub 関数のドキュメントにアクセスします。

プロンプトの例

  • 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_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY", "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY" } } } }

プロジェクト構成

プロジェクト ディレクトリに.cursor/mcp.jsonを作成します。

{ "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY", "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY" } } } }
  • 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

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

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デスクトップの使用

  1. **[ツール]**セクションで、 pubnubという名前の新しいツールを追加します。
  2. コマンドnpxに設定し、引数を["-y", "@pubnub/mcp"]に設定します。
  3. PubNub キーの環境変数を追加します。
    • PUBNUB_SUBSCRIBE_KEY
    • PUBNUB_PUBLISH_KEY
  4. 設定を保存します。

Claude Desktop は古いバージョンの Node.js を使用している可能性があります。コマンドに Node.js インストールのフルパスを設定する必要があるかもしれません。

git clone https://github.com/stephenlb/pubnub-mcp-server.git

MCP サーバーはindex.jsファイルにあります。

{ "mcpServers": { "pubnub": { "command": "/Users/stephen/.nvm/versions/node/v22.14.0/bin/node", "args": ["/Users/stephen/Projects/mcp-pubnub/index.js"], "env": { "PUBNUB_SUBSCRIBE_KEY": "demo", "PUBNUB_PUBLISH_KEY": "demo" } } } }

ライセンス

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

トラブルシューティング

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

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

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

PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_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) Fetch PubNub JavaScript SDK documentation echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params": {"name":"fetch_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' \ | node index.js # 3) Load PubNub Functions docs (static Markdown) echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params": {"name":"pubnub_functions_docs","arguments":{}}}' \ | node index.js # 4) Publish a message to a channel echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params": {"name":"publish_pubnub_message","arguments": {"channel":"my_channel","message":"Hello, PubNub!"}}}' \ | node index.js # 5) Read a static resource echo '{"jsonrpc":"2.0","id":5,"method":"resources/read","params": {"uri":"thank_you_pubnub://thank_you"}}' \ | node index.js

簡単なJSON-RPCの例

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

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

PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY \ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fetch_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' \ | node index.js

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

PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY \ 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

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

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

                    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

                    ID: u5x3u3txbh