警告: 这个叉子坏了!回到原来!
mcp-mqtt代理
](LICENSE) ](https://pypi.org/project/mcp-mqtt-proxy/) ](https://pypi.org/project/mcp-mqtt-proxy/) 
状态:Alpha -这个项目改编了原来的 mcp-proxy 在stdio和MQTT v5之间架起桥梁。
请参阅 视觉.md 了解项目目标和设计细节。
关于
mcp-mqtt-proxy 是一个命令行工具,充当 模型上下文协议(MCP),在标准I/O(stdio)接口和MQTT消息传递协议(专门针对MQTT v5功能)之间进行转换。
它允许您:
- 将基于本地stdio的MCP工具/服务器连接到MQTT代理。
- 通过MQTT接口公开基于本地stdio的MCP工具/服务器。
这使得可以将符合MCP的工具(如语言模型或具有stdio接口的开发工具)集成到基于MQTT的分布式系统、物联网环境或其他消息传递工作流中。
操作模式
- stdio客户端->MQTT代理: 运行本地命令(您的MCP stdio服务器)并代理其MCP通信 *向* MQTT代理。来自stdio进程的请求被发布到请求主题,并通过订阅响应主题来接收响应。
- MQTT代理->stdio服务器: 监听MQTT主题上的MCP请求,并转发它们 *向* 本地命令(您的MCP stdio服务器),并将响应发布回相应的MQTT响应主题(利用MQTT v5的请求/响应功能)。
安装
_(注:软件包尚未发布)_.
发布后,您可以通过pip或uv进行安装:
# Option 1: With uv (recommended)
uv tool install mcp-mqtt-proxy
# Option 2: With pipx
pipx install mcp-mqtt-proxy
# Option 3: Install from source (latest)
uv pip install git+https://github.com/bytter/mcp-mqtt-proxy配置和使用
代理是通过命令行参数配置的。
常见论点:
--broker-urlMQTT代理的URL(例如。,mqtt://localhost:1883,mqtts://user:pass@host:port).--request-topic:用于发布/订阅MCP请求的MQTT主题。--response-topic:用于发布/订阅MCP响应的基本MQTT主题。- _(其他MQTT选项,如
--client-id,--qos,--username,--password,将添加TLS设置)。_
模式1:stdio客户端->MQTT代理
# Example (Conceptual - arguments subject to change)
mcp-mqtt-proxy \
--broker-url mqtt://localhost:1883 \
--request-topic mcp/server/requests \
--response-topic mcp/client/my-client-id/responses \
-- \
your-mcp-stdio-command --arg1 --arg2 模式2:MQTT代理->stdio服务器
# Example (Conceptual - arguments subject to change)
mcp-mqtt-proxy \
--listen \
--broker-url mqtts://secure.broker.com:8883 \
--request-topic mcp/server/requests \
-- \
your-mcp-stdio-command --arg1 --arg2_(随着开发的进展,将添加详细的论据和示例)。_
码头工人
该项目包括一个用于容器化部署的Docker镜像。
使用Docker运行
# Run the container with --help to see available options
docker run --rm ghcr.io/bytter/mcp-mqtt-proxy:latest
# Run in publisher mode (stdio client -> MQTT)
docker run --rm --network=host ghcr.io/bytter/mcp-mqtt-proxy:latest \
--broker-url mqtt://localhost:1883 \
--base-topic mcp/test \
-- /path/to/mcp-process
# Run in listener mode (MQTT -> stdio server)
docker run --rm --network=host ghcr.io/bytter/mcp-mqtt-proxy:latest \
--listen \
--broker-url mqtt://localhost:1883 \
--base-topic mcp/test \
--stdio-process "/path/to/mcp/process"在本地构建Docker镜像
# Build the image
docker build -t mcp-mqtt-proxy:latest .
# Build with a specific version tag
docker build -t mcp-mqtt-proxy:v1.0.0 .持续集成
在以下情况下,该项目使用GitHub Actions自动构建Docker镜像并将其发布到GitHub容器注册表(ghcr.io):
- 代码被推送到主分支
- 推送版本标签(v\*)
您可以在以下网址找到最新图片: ghcr.io/bytter/mcp-mqtt-proxy
致谢
该项目源于原始 mcp-proxy 由Sergey Parfenyuk编写,为stdio/MCP处理和整体代理结构提供了基础。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
