MQTT Specification

io.github.cartertinney由 GitHub 账号 cartertinney 发布v0.1.0更新于 Oct 29, 2026

Offline MCP server for navigating the OASIS MQTT 3.1.1 and 5.0 specifications

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

离线 MCP 服务器,让助手检索、阅读并引用 OASIS MQTT 3.1.1 与 5.0 规范。

可以做什么
  • 按关键词、章节编号或要求标签检索 MQTT 3.1.1 或 5.0 规范中的相关摘录
  • 以分页 Markdown 形式读取某一章节,并用 Next 游标继续翻页
  • 浏览章节编号与标题,不含正文
  • 精确查询某个报文、属性、原因码、返回码、要求标签或术语
  • 每次调用只针对一个版本,比较时需分别查询两个版本
适用场景
适合回答 MQTT 协议行为、报文字段、各类代码或规范性要求的问题,希望答案基于官方规范原文并附章节引用,同时不必把整份规范载入上下文。
运行要求
以 stdio 在本地运行,客户端用 uvx mqtt-spec-mcp 启动,因此需先安装 uv(可自动获取 Python 3.10 及以上)。也可用 pipx 或 pip 安装后运行 mqtt-spec-mcp。无需环境变量、配置文件或命令行参数。通过 uvx 启动时需要访问 PyPI,除非 uv 近期已检查过。
安装前请注意
工具均为只读检索,不索取任何凭据或密钥。索引是转换后的检索辅助材料,并非官方出版物,摘录可能省略例外条款,答案仍应核对 OASIS 原文。不支持 MQTT 3.1,也不是 broker 或一致性验证器。使用 uvx 时会从 PyPI 下载包,并在每次启动时检查更新。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MQTT Specification,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mqtt-spec-mcp

An offline Model Context Protocol server for searching and citing the OASIS MQTT 3.1.1 and MQTT 5.0 specifications. Agents get focused source excerpts instead of loading a whole specification.

  • Four read-only tools for search, section retrieval, outlines, and exact lookups.
  • Bundled indexes: no network, database, embeddings, or LLM at query time.
  • Explicit version selection on every call; no default or cross-version results.
  • Bounded section pages and compact search evidence packs with source links.

The server retrieves evidence; the agent does the reasoning. OASIS publications remain authoritative, and retrieved excerpts are not a guarantee of a correct answer.

Setup

Your MCP client starts the server on your machine and talks to it over stdio. There is no separate install step: configure the client to run uvx mqtt-spec-mcp, and uv downloads the package from PyPI the first time, caches it, and starts it. uv also fetches a compatible Python (3.10 or newer) if you don't have one. Each time the client starts the server, uv checks PyPI for a newer release, so updates arrive automatically.

  1. Install uv.
  2. Add the server to your client, as shown below. The server needs no environment variables, configuration files, or flags.

The server is also listed in the MCP Registry as io.github.cartertinney/mqtt-spec-mcp, for clients that install from it.

Claude Code, Codex, GitHub Copilot CLI, and Gemini CLI

Each of these adds the server for all your projects with one command:

bash
claude mcp add --scope user mqtt-spec -- uvx mqtt-spec-mcp   # Claude Codecodex mcp add mqtt-spec -- uvx mqtt-spec-mcp                 # OpenAI Codex CLI and IDE extensioncopilot mcp add mqtt-spec -- uvx mqtt-spec-mcp               # GitHub Copilot CLIgemini mcp add --scope user mqtt-spec uvx mqtt-spec-mcp      # Gemini CLI

VS Code (GitHub Copilot)

Add the server to your user profile from a terminal:

bash
code --add-mcp '{"name":"mqtt-spec","type":"stdio","command":"uvx","args":["mqtt-spec-mcp"]}'

Or run MCP: Add Server from the Command Palette, or add it to one project's .vscode/mcp.json:

json
{  "servers": {    "mqtt-spec": {      "type": "stdio",      "command": "uvx",      "args": ["mqtt-spec-mcp"]    }  }}

Claude Desktop, Cursor, and other clients

Most other clients read the same mcpServers entry:

json
{  "mcpServers": {    "mqtt-spec": {      "command": "uvx",      "args": ["mqtt-spec-mcp"]    }  }}
  • Claude Desktop: Settings → Developer → Edit Config opens claude_desktop_config.json. Quit and reopen Claude after saving.
  • Cursor: use ~/.cursor/mcp.json for all projects, or .cursor/mcp.json in one project.
  • Zed: put the same entry under context_servers in its settings file.

ChatGPT and the OpenAI Agents SDK

ChatGPT connects only to remote MCP servers over HTTPS, so it can't start this local server; use the Codex CLI or IDE extension instead (above). In an agent built with the OpenAI Agents SDK, connect with MCPServerStdio(params={"command": "uvx", "args": ["mqtt-spec-mcp"]}).

Without uv

Install the package with pipx install mqtt-spec-mcp, or with pip install mqtt-spec-mcp in a Python 3.10+ environment. Then configure your client to run the command mqtt-spec-mcp, with no arguments, instead of uvx mqtt-spec-mcp.

Troubleshooting and upgrades

  • The client can't find uvx. Desktop apps often don't see your shell's PATH. Use the absolute path printed by which uvx (macOS and Linux) or where uvx (Windows).
  • The first start times out. The first launch downloads the package, which can take a few seconds. Download it ahead of time with uvx --from mqtt-spec-mcp python -c pass.
  • Updates. A new release is used from the next time your client starts the server. uv reuses PyPI's answer for up to 10 minutes, so a release can take that long to appear. After an update, start a new conversation so the client drops cached tool schemas. To stay on one version, use [email protected] in place of mqtt-spec-mcp in the client's arguments.
  • No network access. The server works offline, but starting it with uvx needs to reach PyPI unless uv checked within the last 10 minutes. To run without network access, install it once with uv tool install mqtt-spec-mcp and configure the client to run mqtt-spec-mcp. uvx mqtt-spec-mcp then runs the installed copy as well, and updates come only from uv tool upgrade mqtt-spec-mcp.

Tools

Every call requires version: exactly "3.1.1" or "5.0".

ToolUse
mqtt_spec_searchFind excerpts by key terms, section id, or requirement label.
mqtt_spec_getRead a section, with bounded pages and continuation cursors.
mqtt_spec_outlineBrowse section ids and titles without body text.
mqtt_spec_lookupLook up packets, properties, codes, requirements, or glossary terms.

Example tool arguments:

json
{"version": "5.0", "query": "Receive Maximum default; QoS 0 Receive Maximum"}

Use that with mqtt_spec_search. For an exact lookup with mqtt_spec_lookup:

json
{"version": "3.1.1", "kind": "return_code", "query": "0x80", "packet": "SUBACK"}

The latter returns Failure. The same value in MQTT 5.0 is Unspecified error: version-specific labels and codes must not be carried between versions.

Guidance for agents

  1. Ask which MQTT version the user means if they have not specified one.
  2. Look up an exact entity, or search with the question's key terms. Separate parts of a question with ;.
  3. Answer from the evidence, preserving MUST/SHOULD/MAY and their conditions. Cite the version and section beside each claim.
  4. Search excerpts can omit exceptions. Before claiming silence, optionality, or no exception, fetch the deciding section if it is excerpted or absent. The server recommends at most one fetch and one repeat search per version.
  5. For comparisons, query each version separately. A miss in one says nothing about the other.

See the tool reference for all parameters, pagination, result formats, and errors.

Sources and limitations

VersionIndexed publication
3.1.1MQTT Version 3.1.1 Plus Errata 01, 10 December 2015
5.0MQTT Version 5.0, 7 March 2019

Indexes are generated from pinned source documents and validated at startup. They are transformed retrieval aids, not official publications. MQTT 3.1 (pre-OASIS) is not supported, and this is not a broker or a conformance validator.

Limitations and roadmap describe known retrieval gaps. Benchmarks covers the offline regression checks and reports from historical agent evaluations. Those evaluations used a private harness, corpus, and raw runs, so they cannot be reproduced from this repository.

Development

See development and release checks for running from a checkout, testing, rebuilding indexes, and releasing. Benchmark checks are checkout-only and are not shipped with the server.

License

The code is MIT licensed. Specification text in the indexes and returned excerpts is copyright OASIS Open, not MIT licensed. NOTICE contains the source attribution, transformation details, and OASIS notices.

来源:README.md,提交 47965f8

工具

4

mqtt_spec_outline

MQTT spec outline

Section ids and titles of one MQTT version, for browsing.

输入参数parentversion必填

mqtt_spec_get

MQTT spec get section

One section of one MQTT version as Markdown pages; continue a page with its Next cursor.

输入参数cursorsection必填version必填

mqtt_spec_lookup

MQTT spec lookup

Exact entry for one packet, property or reason_code (5.0), return_code (3.1.1), requirement label or glossary term.

输入参数kind必填query必填packetversion必填

版本历史

1
  1. v0.1.0最新Oct 21, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分