Coreflux MQTT MCP Server 是一个企业级 Model Context Protocol(MCP)服务器,为 Claude 和其他兼容 MCP 的 AI 助手提供对 Coreflux MQTT broker 的安全、可扩展访问与自动化能力。
用途 该服务器用于将 AI 助手与 Coreflux MQTT broker 连接起来,使其能够执行 MQTT 相关操作、调用 Coreflux API、生成 LOT 代码,并进行系统健康监控和连接管理。
主要能力
- MQTT 集成:可与 Coreflux MQTT broker 无缝连接,支持完整 TLS。
- 完整 Coreflux API:可访问模型(models)、动作(actions)、规则(rules)和路由(routes)。
- AI 代码生成:通过 Coreflux Copilot API 生成 LOT(Language-of-Things)代码。
- 动态发现:自动发现并列出可用动作。
- 健康监控:提供全面的系统健康检查与监控。
- 企业功能:生产级安全(日志脱敏、输入验证)、异步非阻塞处理(含速率限制与队列管理)、结构化日志(轮转、过滤、安全脱敏)、配置校验、完整单元测试(含 mock 与覆盖率报告)。
- DevOps:支持 Docker 和 Kubernetes 部署(含健康检查)、GitHub Actions CI/CD(自动测试、安全扫描、质量检查)、pre-commit 钩子、代码格式化、lint 和文档生成。
可用工具(向 Claude 提供的工具) 核心 MQTT 工具:
- publish_to_coreflux:向 MQTT topic 发布消息,支持 QoS 和保留选项。
- get_broker_info:获取 MQTT broker 连接详细信息。 AI 辅助工具:
- copilot_assist:向 Coreflux Copilot AI 查询自动化协助和代码生成。 系统管理工具:
- comprehensive_health_check:对所有系统组件执行详细健康检查。 文档中还列出以下工具:
- remove_action:移除动作事件/函数。
- run_action:运行动作事件/函数。
- remove_all_models:移除所有模型。
- remove_all_actions:移除所有动作。
- remove_all_routes:移除所有路由。
- list_discovered_actions:列出所有已发现的 Coreflux 动作。
- request_lot_code:基于自然语言提示,使用 Coreflux Copilot API 生成 LOT 代码。 连接管理工具:
- get_connection_status:获取详细连接状态及故障排查指导。
- setup_mqtt_connection:动态配置新的 MQTT broker 连接。
- mqtt_connect:使用自定义参数连接到指定 MQTT broker。
- check_broker_health:测试 broker 连通性并尝试重连。
- reconnect_mqtt:强制重新连接到已配置的 broker。
使用方式 前置条件:Python 3.11 或更高版本、Docker(可选,用于容器化部署)、可访问的 Coreflux MQTT broker、Coreflux Copilot API key(可选,用于 AI 协助)。
方式一:Docker 部署(推荐)
- 克隆并配置: git clone https://github.com/CorefluxCommunity/Coreflux-MQTT-MCP-Server.git cd Coreflux-MQTT-MCP-Server cp .env.example .env
编辑 .env 填入你的配置
- 使用 Docker 部署: docker-compose up -d
- 验证部署: docker-compose logs -f coreflux-mcp-server
方式二:开发安装
- 克隆并设置: git clone https://github.com/CorefluxCommunity/Coreflux-MQTT-MCP-Server.git cd Coreflux-MQTT-MCP-Server
- 安装依赖: pip install -r requirements.txt
开发用
pip install -r requirements-dev.txt 3. 配置环境: python setup_assistant.py
交互式配置
或
cp .env.example .env && nano .env
手动配置
- 校验并测试: make validate make test
- 启动服务器: python server.py
或
make run
连接到 Claude 使用 Claude Desktop 时,需定位 Claude Desktop 配置文件: macOS/Linux:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json 然后添加服务器配置: { "mcpServers": { "coreflux": { "command": "python", "args": ["/path/to/your/server.py"], "env": { "MQTT_BROKER": "your-broker-host.com", "MQTT_PORT": "8883", "MQTT_USER": "your-username", "MQTT_PASSWORD": "your-password", "MQTT_USE_TLS": "true", "DO_AGENT_API_KEY": "your-copilot-api-key" } } } } 配置后重启 Claude Desktop。安全提示:生产部署应将密钥存放在安全环境变量或密钥管理系统中,而非 Claude 配置文件中。
配置助手 交互式安装助手可帮助配置 MQTT broker 连接设置、TLS 证书配置、Coreflux Copilot API 集成、日志与监控设置,以及配置校验和测试。适用于初始配置、更新设置、排查连接问题、设置 TLS 证书或在环境间迁移。
Coreflux Copilot 集成 从 Coreflux Copilot 仪表板获取 API key,然后配置:
方式一:环境文件
echo "DO_AGENT_API_KEY=your_api_key_here" >> .env
方式二:环境变量
export DO_AGENT_API_KEY=your_api_key_here 可用于 LOT 代码生成、自动化协助、最佳实践指导及故障排查。
适用场景
- 希望通过 Claude 等 MCP 兼容 AI 助手操作 Coreflux MQTT broker 的场景。
- 需要生成或调试 LOT(Language-of-Things)自动化代码的场景。
- 需要对企业 MQTT 环境进行健康监控、连接管理和安全运维的场景。
限制与说明
- 需要 Python 3.11+、可访问的 Coreflux MQTT broker;Docker 和 Copilot API key 均为可选。
- 若 MQTT broker 不可达,服务器仍可启动,可通过相关工具排查和配置连接。
- 资料未提供收费、价格、平台、具体效果或使用步骤的更多细节。