カーソル 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
) を活用した拡張可能なツール定義。
プロンプトの例
- 「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 キーがシェルにエクスポートされていることを確認します。
- Claude Desktop のツールセクションで、 pubnubという名前の新しいツールを追加します。
- コマンドを
docker
に設定します。 - 引数を次のように設定します:
**注:**一部のマシン(例:Apple Silicon)では、Dockerプラットフォームの指定が必要になる場合があります。Arguments配列の
"run"
の直後に--platform linux/arm64
(または--platform linux/amd64
)を追加してください。例:
- 設定を保存します。
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 コマンドラインの例です。
1) PubNub JavaScript SDKドキュメントを取得する
2) PubNubチャネルにメッセージを公開する
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.
Tools
PubNub SDK ドキュメントと関数リソースを Cursor IDE などの LLM 対応ツールに公開する CLI ベースのモデル コンテキスト プロトコル サーバー。これにより、ユーザーはドキュメントを取得したり、自然言語プロンプトを使用して PubNub チャネルと対話したりできるようになります。
Related MCP Servers
- -securityFlicense-qualityA 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 -7381Python
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server for Cursor IDE that simplifies the installation and configuration of other MCP servers.Last updated -323163JavaScriptMIT License
- -securityFlicense-qualityAllows 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 -1TypeScript
- AsecurityAlicenseAqualityA 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 -72453TypeScriptMIT License