使用说明
项目简介
Coreflux MQTT MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在连接 Claude 等 MCP 客户端与 Coreflux MQTT Broker。它作为一个桥梁,允许用户通过 Claude 自然语言交互界面,安全、便捷地控制和管理底层的 Coreflux 物联网平台。通过此服务器,用户可以将 Claude 等 LLM 强大的自然语言理解和生成能力,与 Coreflux 平台的设备管理、数据处理和自动化功能相结合,实现更智能化的物联网应用。
主要功能点
- 连接 Coreflux MQTT Broker: 作为 MCP 服务器的核心,它能够稳定可靠地连接到指定的 Coreflux MQTT Broker,从而为 MCP 客户端提供数据通道和控制接口。
- 提供丰富的 Coreflux 工具集: 将 Coreflux 平台的核心功能,如模型管理、动作执行、规则配置和路由设置等,转化为一系列可被 Claude 等 MCP 客户端调用的工具。这些工具使得用户可以通过自然语言指令,直接操作 Coreflux 平台。
- 动态发现和注册动作: 能够自动发现 Coreflux Broker 中已定义的动作 (Actions),并动态地将这些动作注册为 MCP 工具。这意味着服务器可以随着 Coreflux 平台功能的扩展而自动更新工具集,无需手动修改服务器代码。
- 内置 LOT 语言文档资源: 集成了 Coreflux 平台所使用的 LOT 语言(用于定义模型、规则和动作的脚本语言)的文档资源。用户可以通过 Claude 等客户端查询这些文档,辅助理解和使用 Coreflux 平台的功能。
- 基于官方 MCP SDK 构建: 使用官方 Model Context Protocol SDK ('fastmcp') 进行开发,保证了与 MCP 协议的严格兼容性,并能与支持 MCP 协议的客户端(如 Claude)实现无缝集成。
- 独立的安装配置向导: 提供了一个 'setup_assistant.py' 脚本,作为独立的安装配置向导。用户可以通过交互式命令行界面轻松完成服务器的初始配置,包括 MQTT Broker 连接参数、TLS 加密设置和日志级别等。
安装步骤
- 环境准备: 确保您的系统已安装 Python 3.7 或更高版本,并已安装 'pip' 包管理工具。
- 下载代码: 从 GitHub 仓库 https://github.com/CorefluxCommunity/Coreflux-MQTT-MCP-Server 下载或克隆源代码到本地。
- 运行安装向导: 打开命令行终端,进入代码仓库根目录,执行命令 'python setup_assistant.py'。按照提示,输入您的 MQTT Broker 地址、端口、用户名、密码等连接信息,以及其他可选配置(如 TLS 设置、日志级别)。配置信息将被保存到 '.env' 文件中。
- 安装依赖: 运行命令 'pip install -r requirements.txt' 安装项目所需的 Python 依赖库。如果 'requirements.txt' 文件不存在,根据 'server.py' 文件开头的 'dependencies' 列表手动安装依赖,例如 'pip install paho-mqtt mcp-server python-dotenv requests'.
- 启动服务器: 在命令行终端中,执行命令 'python server.py' 启动 MCP 服务器。服务器将读取 '.env' 文件中的配置信息,并尝试连接到 Coreflux MQTT Broker。
服务器配置 (Claude Desktop Config)
为了让 Claude Desktop 客户端连接到此 MCP 服务器,您需要在 Claude 的配置文件 'claude_desktop_config.json' 中添加服务器配置信息。配置信息为 JSON 格式,示例如下:
{ "mcpServers": { "coreflux": { "command": "python", "args": [ "/PATH/TO/server.py", // **请替换为 server.py 脚本的实际路径**,例如 "/Users/yourname/Coreflux-MQTT-MCP-Server/server.py" 或 "C:\\Users\\YourName\\Coreflux-MQTT-MCP-Server\\server.py" "--mqtt-host", "localhost", // MQTT Broker 地址,默认为 localhost,如果您的 Broker 不在本地,请修改为 Broker 的 IP 地址或域名 "--mqtt-port", "1883", // MQTT Broker 端口,默认为 1883,请根据您的 Broker 配置修改 "--mqtt-user", "root", // MQTT Broker 用户名,请根据您的 Broker 账号修改 "--mqtt-password", "coreflux", // MQTT Broker 密码,请根据您的 Broker 账号修改 "--mqtt-client-id", "claude-coreflux-client" // MQTT 客户端 ID,用于标识此 MCP 服务器连接到 Broker 的客户端身份,您可以自定义,但需要确保在 Broker 中唯一 ], "description": "Coreflux MQTT Broker Control", // MCP 服务器的描述信息,将在 Claude 客户端中显示,您可以自定义描述文字,方便您识别不同的 MCP 服务器 "icon": "🔄", // MCP 服务器在 Claude 客户端中显示的图标,您可以选择其他 Emoji 图标 "env": {} } } }
-
配置文件路径:
- macOS/Linux: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json'
-
配置步骤:
- 找到 'claude_desktop_config.json' 文件,如果文件不存在则手动创建。
- 将上述 JSON 配置代码复制到 'claude_desktop_config.json' 文件中的 '"mcpServers"' 字段下。如果 '"mcpServers"' 字段不存在,则创建该字段并将配置代码复制进去。
- 务必根据注释修改 'command' 和 'args' 数组中的参数,特别是 '/PATH/TO/server.py' 需要替换为 'server.py' 脚本在您电脑上的实际存储路径,MQTT Broker 的地址、端口、用户名和密码也需要根据您的 Coreflux MQTT Broker 配置进行修改。
- 保存 'claude_desktop_config.json' 文件。
- 重启 Claude Desktop 客户端,配置即可生效。
基本使用方法
配置完成后,您可以在 Claude Desktop 客户端中使用 '@coreflux' 或您在 'claude_desktop_config.json' 中定义的服务器名称来提及此 MCP 服务器。Claude 将会识别出 'Coreflux MQTT MCP 服务器' 提供的工具,并允许您通过自然语言指令调用这些工具来管理 Coreflux MQTT Broker。
例如,您可以向 Claude 发送指令:
- '@coreflux 列出所有已发现的 Coreflux 动作'
- '@coreflux 运行动作 TurnLampOff'
- '@coreflux 添加一个模型,模型定义为: DEFINE MODEL ...'
- '@coreflux 获取 MQTT 连接状态'
- '@coreflux 发布消息 "hello" 到主题 Coreflux/test'
Claude 会将您的自然语言指令转换为对 MCP 服务器工具的调用,MCP 服务器会将请求转发到 Coreflux MQTT Broker 执行,并将结果返回给 Claude。
信息
分类
桌面与硬件