# MCP over MQTT

MCP over MQTT 是一种将 [Model Context Protocol（MCP）](https://modelcontextprotocol.io/docs/getting-started/intro) 运行在 MQTT 协议之上的实现方式。
 它利用 MQTT 的轻量、高效和广泛应用的特性，将 MCP 的上下文与工具调用能力扩展到物联网与边缘计算场景，使设备与 AI 服务之间能够实现低延迟、无缝的交互。

## 为什么使用 MQTT 实现 MCP

MQTT 是一种轻量级、发布/订阅模式的消息传输协议，广泛应用于 IoT 和边缘计算领域。其设计目标是应对不可靠网络和低带宽环境，因此非常适合边缘设备与云服务之间的通信需求。

通过使用 MQTT 作为 MCP 的传输层，我们将 MCP 的应用范围扩展到更广泛的场景中，包括边缘计算、物联网和云服务等任何需要使用 MQTT 的地方。

## 核心特性

在保留 MCP 原有能力的基础上，MCP over MQTT 增强并扩展了以下特性：

- **内置服务注册与发现**
  MCP 客户端可以通过 MQTT Broker 自动发现可用的 MCP 服务器，简化了服务接入流程。

- **负载均衡与水平扩展**
  MCP 服务器可通过部署多个实例实现水平扩展，并保持服务端状态一致性，从而提升系统可用性和吞吐能力。

- **集中式认证与授权**
  依托 MQTT Broker 的认证与权限控制机制，MCP over MQTT 能确保只有经过授权的客户端才能访问指定的 MCP 服务。

- **服务名管理与下发**
  在标准 MCP 协议之上，EMQX 引入了 **MCP 服务名** 概念，用于对 MCP 服务进行标识和分类。管理员可在 EMQX 中集中管理与下发服务名，从而简化多服务场景下的统一管理与维护。
