Skip to main content
Glama

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 ) を活用した拡張可能なツール定義。

Related MCP server: MPC Docs Server

プロンプトの例

  • 「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
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
8Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.

  • A Model Context Protocol server for Wix AI tools

View all MCP Connectors

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