Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for MQTT 5.0 brokers (publish, subscribe, topic discovery).
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
MQTT_HOST, MQTT_PORT, MQTT_USERNAME, MQTT_PASSWORD, MQTT_USE_TLS「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"mqtt": {
"command": "uvx",
"args": [
"mqtt5-mcp-server"
],
"env": {
"MQTT_HOST": "your-value",
"MQTT_PORT": "your-value",
"MQTT_USERNAME": "your-value",
"MQTT_PASSWORD": "your-value",
"MQTT_USE_TLS": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add mqtt --env MQTT_HOST=your-value --env MQTT_PORT=your-value --env MQTT_USERNAME=your-value --env MQTT_PASSWORD=your-value --env MQTT_USE_TLS=your-value -- uvx mqtt5-mcp-server動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"mqtt": {
"command": "uvx",
"args": [
"mqtt5-mcp-server"
],
"env": {
"MQTT_HOST": "your-value",
"MQTT_PORT": "your-value",
"MQTT_USERNAME": "your-value",
"MQTT_PASSWORD": "your-value",
"MQTT_USE_TLS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"mqtt": {
"type": "stdio",
"command": "uvx",
"args": [
"mqtt5-mcp-server"
],
"env": {
"MQTT_HOST": "your-value",
"MQTT_PORT": "your-value",
"MQTT_USERNAME": "your-value",
"MQTT_PASSWORD": "your-value",
"MQTT_USE_TLS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
MQTT_PORT envMQTT_USERNAME envMQTT_USE_TLS envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント nagarjunr で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:MQTT_HOST, MQTT_PASSWORD
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, zanadir
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server for MQTT — the standard IoT publish/subscribe messaging protocol. Works against any MQTT broker (Eclipse Mosquitto, EMQX, HiveMQ, AWS IoT Core, Azure IoT Hub's MQTT endpoint, etc): only the standard MQTT 5.0 wire protocol is used, no broker-specific admin APIs.
Built with FastMCP and paho-mqtt.
| Tool | Description |
|---|---|
get_connection_status() | Report this connector's broker connection state. |
publish_message(topic, payload, qos, retain, ...) | Publish a message. Supports MQTT5 properties (content type, message expiry, response topic, correlation data, user properties) and optionally blocks until the broker acknowledges delivery (QoS 1/2). |
start_subscription(topic_filter, qos, ...) | Start receiving messages matching a topic filter (supports +/# wildcards). Returns a session_id. |
get_messages(session_id, max_messages, timeout_seconds) | Drain buffered messages from a subscription session; can wait briefly for one to arrive. |
stop_subscription(session_id) | Stop a session and unsubscribe (if no other session needs the same filter). |
list_subscriptions() | List all active subscription sessions. |
discover_topics(topic_filter, duration_seconds, max_topics) | Approximate a "list topics" operation via retained messages — MQTT has no native topic-listing operation. |
MQTT is a continuous publish/subscribe stream, not a request/response API. A single MCP tool call can't "wait forever" for messages, so subscribing works in two steps: start_subscription registers interest and buffers messages in the background (one shared broker connection, dispatched in-process by topic filter), then get_messages drains that buffer on however many tool calls you want, optionally waiting a bounded amount of time for new data. Call stop_subscription when done.
| Env var | Required | Description |
|---|---|---|
MQTT_HOST | Yes | Broker hostname or IP. |
MQTT_PORT | No | Default 1883 (or 8883 for TLS — set explicitly). |
MQTT_USERNAME / MQTT_PASSWORD | No | Broker credentials. |
MQTT_CLIENT_ID | No | Defaults to a broker-assigned ID. |
MQTT_KEEPALIVE | No | Seconds, default 60. |
MQTT_CONNECT_TIMEOUT | No | Seconds to wait for the initial connect, default 10. |
MQTT_TRANSPORT | No | tcp (default) or websockets. |
MQTT_WS_PATH | No | Path for the websocket transport, default /mqtt. |
MQTT_USE_TLS | No | true/false, default false. |
MQTT_TLS_CA_CERTS | No | Path to a CA bundle. Omit to use the system trust store. |
MQTT_TLS_CLIENT_CERT / MQTT_TLS_CLIENT_KEY | No | For mutual TLS. |
MQTT_TLS_INSECURE | No | Skip hostname verification — for self-signed test certs only. |
MQTT_WILL_TOPIC / MQTT_WILL_PAYLOAD / MQTT_WILL_QOS / MQTT_WILL_RETAIN | No | Last Will and Testament, set once at connect time. |
uv sync
export MQTT_HOST=localhost export MQTT_PORT=1883 export MQTT_USERNAME=mqtt export MQTT_PASSWORD=mqtt uv run mqttmcpserver.py
See mcp.json for ready-to-use client configs (stdio and Docker).
This repo's design principles call for testing against a real instance rather than mocks. docker-compose.yml spins up Eclipse Mosquitto (2.x, MQTT5-capable) with password auth, plus a TLS listener with self-signed certs for testing the TLS/mTLS code paths.
./docker/gen-test-certs.sh # one-time: generate throwaway TLS test certs (needs openssl)
docker compose up -d # start Mosquitto on localhost:1883 (plain, user: mqtt / pass: mqtt) and :8883 (TLS) uv run pytest -v # tests/conftest.py also starts/stops the stack automatically docker compose down # stop it manually if you started it yourself
docker-compose.yml and the files under docker/ configure the open-source Eclipse Mosquitto broker (EPL-2.0) for local testing only — they are not part of the MCP server itself.