EMQX MCP サーバー
EMQX MQTTブローカーとの連携を可能にするモデルコンテキストプロトコル(MCP)サーバー実装。MCPクライアントがEMQX Cloudまたはセルフホスト型クラスター上のMQTTクラスターと連携できるようにします。
特徴
MQTTクライアント管理
クライアントリスト: 柔軟なフィルタリングオプションを使用して、接続されているすべての MQTT クライアントを表示します。
クライアント情報: 特定のクライアントに関する詳細情報を取得します
接続制御: 問題のあるクライアントや古いクライアントをブローカーから切断します
柔軟なフィルタリング: ノード、ユーザー名、クライアント ID、接続状態などでクライアントをフィルタリングします。
MQTT メッセージパブリッシング
トピックベースのパブリッシング:任意のMQTTトピックにメッセージを送信します
QoS制御: 信頼性の高い配信のためにサービス品質レベル(0、1、または2)を選択します。
メッセージの保持: 新規購読者へのメッセージを保持するオプション
カスタムペイロード: あらゆるメッセージコンテンツ形式をサポート
Related MCP server: MCP Server
ツール
リスト_mqtt_クライアント
EMQX クラスターに接続されている MQTT クライアントを一覧表示します
入力:
ページ(数値、オプション):ページ番号(デフォルト:1)
制限(数値、オプション):1ページあたりの結果数(デフォルト:100、最大10000)
node (文字列、オプション): 特定のノード名でフィルタリング
clientid (文字列、オプション): 特定のクライアントIDでフィルタリング
ユーザー名(文字列、オプション):特定のユーザー名でフィルタリング
ip_address (文字列、オプション): クライアントのIPアドレスでフィルタリング
conn_state (文字列、オプション): 接続状態でフィルタリングする
clean_start (ブール値、オプション): クリーンスタートフラグでフィルタリング
proto_ver (文字列、オプション): プロトコルバージョンでフィルタリング
like_clientid (文字列、オプション): クライアントIDパターンによるあいまい検索
like_username (文字列、オプション): ユーザー名パターンによるあいまい検索
like_ip_address (文字列、オプション): IPアドレスパターンによるあいまい検索
get_mqtt_client
クライアントIDで特定のMQTTクライアントの詳細情報を取得します
入力:
clientid (文字列、必須): 取得するクライアントの一意の識別子
kick_mqtt_client
クライアントIDでMQTTブローカーからクライアントを切断する
入力:
clientid (文字列、必須): 切断するクライアントの一意の識別子
publish_mqtt_メッセージ
EMQX クラウドまたはセルフマネージド デプロイメント上の EMQX クラスターに MQTT メッセージをパブリッシュする
入力:
topic (文字列、必須): 公開先のMQTTトピック
ペイロード(文字列、必須): 公開するメッセージの内容
qos (数値、オプション): サービス品質レベル (0、1、または 2) (デフォルト: 0)
retain(ブール値、オプション):メッセージを保持するかどうか(デフォルト:false)
EMQXクラスターのセットアップ
EMQX MCPサーバーツールを使用する前に、APIキーとクライアント認証を適切に設定したEMQXクラスターをセットアップする必要があります。いくつかのオプションがあります。
EMQX クラウド サーバーレス デプロイメント:
始めるのに最も簡単な方法。
EMQX Cloudから無料のサーバーレスデプロイメントを入手する
EMQX Cloud Serverlessにサインアップ
EMQX クラウド専用展開:
本番環境のワークロードに専用のリソースを提供する
強化されたパフォーマンス、信頼性、カスタマイズオプションを提供
さまざまなクラウドプロバイダー(AWS、GCP、Azure)をサポート
プロフェッショナルなSLAとサポートが含まれています
EMQX Cloud Dedicatedでデプロイメントを作成する
セルフホスト型 EMQX プラットフォーム:
EMQXプラットフォームをローカルにダウンロードして展開する
EMQXプラットフォームのインストール手順に従ってください。
Claudeデスクトップアプリでローカルで実行する
オプション1: Smithery経由でインストールする
Smithery経由で Claude Desktop 用の emqx-mcp-server を自動的にインストールするには:
オプション2: Docker
Claude デスクトップ アプリをまだインストールしていない場合はインストールしてください。
イメージをプルします:
docker pull benniuji/emqx-mcp-serverclaude_desktop_config.jsonファイルに次の内容を追加します。MacOSの場合:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows の場合:
%APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "EMQX_MCP_Server": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "EMQX_API_URL=https://your-emqx-cloud-instance.com:8443/api/v5", "-e", "EMQX_API_KEY=<YOUR-API-KEY>", "-e", "EMQX_API_SECRET=<YOUR-API-SECRET>", "benniuji/emqx-mcp-server" ] } } }注: 環境変数
EMQX_API_URL、EMQX_API_KEY、EMQX_API_SECRETを更新してください。Claudeデスクトップアプリを開くか再起動する
Claude に MQTT ブローカーで何かを実行するように依頼してみてください (たとえば、トピックに MQTT メッセージを公開するように依頼します)。
オプション3: 手動インストール
まず、 uv実行ファイルがインストールされていることを確認してください。まだインストールされていない場合は、こちらの手順に従ってインストールできます。
Claude デスクトップ アプリをまだインストールしていない場合はインストールしてください。
このリポジトリをクローンします。
claude_desktop_config.jsonファイルに次の内容を追加します。MacOSの場合:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindowsの場合:
%APPDATA%/Claude/claude_desktop_config.jsonGXP4
注意:
path/to/repo/src/emqx_mcp_server実際のパスに更新し、環境変数EMQX_API_URL、EMQX_API_KEY、およびEMQX_API_SECRETを EMQX インスタンスに合わせて変更してください。Claudeデスクトップアプリを開くか再起動する
Claude に MQTT ブローカーで何かを実行するように依頼してみてください (たとえば、トピックに MQTT メッセージを公開するように依頼します)。
プロンプトの例
ユーザー:
法学修士:
ユーザー:
法学修士:
ユーザー:
法学修士:
ユーザー:
法学修士
ライセンス
このプロジェクトは、Apache License バージョン 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。