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

特徴
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_concepts、pubnub_features、pubnub_security、how_to_send_receive_json、how_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_KEYとPUBNUB_SUBSCRIBE_KEYをサポートします。ドキュメントのフォーマットの一貫性を保つために、
jsdomとturndownを使用してリモート HTML 記事を Markdown に変換します。すべてのツールパラメータに対して Zod スキーマによる入力検証を実行し、堅牢なエラー処理を保証します。
McpServerおよびStdioServerTransportを使用した Model Context Protocol SDK (@modelcontextprotocol/sdk) を活用した拡張可能なツール定義。
Related MCP server: Code Summarizer MCP
プロンプトの例
「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 に追加したりするための推奨方法は次のとおりです。
構成
MCP サーバーを使用するには、カーソルがエージェント モードになっている必要があります。
Cursor IDE は JSON 設定ファイルを介して MCP サーバーを検出します。PubNub MCP サーバーをグローバルまたはプロジェクトごとに設定できます。
グローバル構成
~/.cursor/mcp.jsonを編集または作成します。
プロジェクト構成
プロジェクト ディレクトリに.cursor/mcp.jsonを作成します。
Dockerベースの構成
MCP サーバーを Docker 経由で実行する場合は、PubNub キーを環境変数として設定します。
次に、 ~/.cursor/mcp.json (またはプロジェクト内の.cursor/mcp.json ) を設定します。
command、MCP サーバーを起動する実行可能ファイルを指定します。argsコマンドに渡す引数を指定します。envサーバープロセスの環境変数を設定します。
カーソルIDEでの使用
カーソル IDE を再起動するか、新しいセッションを開きます。
MCP 設定ペインを開き、 pubnubサーバーが**[利用可能なツールとリソース]**の下にリストされていることを確認します。
チャットで利用可能なリソースを呼び出します。
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からの静的コンテンツ)
プロンプトが表示されたらリソースの実行を承認するか、信頼できるリソースの設定で自動実行を有効にします。
クロード・コード
出力は次のようになります。
プロンプトの例
次のコマンドで MCP サーバーを削除します。
Claudeデスクトップの使用
Claude Desktop の Docker ベースの MCP サーバーを希望する場合:
PubNub キーがシェルにエクスポートされていることを確認します。
export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_keyClaude Desktop のツールセクションで、 pubnubという名前の新しいツールを追加します。
コマンドを
dockerに設定します。引数を次のように設定します:
[ "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" ]
設定を保存します。
Claude Desktop は、Docker 経由で PubNub MCP サーバー コンテナーを呼び出します。
ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。
トラブルシューティング
MCP サーバーを使用するにはエージェント モードにする必要があります。
Node.js と npm のインストールを確認します。
index.jsに実行権限があることを確認します。command、args、およびenv設定が正しいことを確認します。MCP 起動エラーについては、カーソル IDE ログを確認します。
JSON-RPC コマンドラインの直接使用
JSON-RPC v2.0 を使用すると、STDIN/STDOUT 経由で MCP サーバーを直接呼び出すことができます。PubNub キーが環境に設定されていることを確認してください。例:
サーバーが起動したら(または1回限りの呼び出しを使用したら)、JSONをnode index.jsにパイプしてリクエストを送信します。例:
簡単なJSON-RPCの例
以下は、STDIN/STDOUT を使用して PubNub SDK ドキュメントを取得し、メッセージを公開する簡略化された JSON-RPC v2.0 コマンドラインの例です。