一款企业级模型上下文协议(MCP)服务器,提供安全、可扩展的访问到Coreflux MQTT代理,并为Claude和其他兼容MCP的人工智能助手提供了全面的自动化能力。
克隆并配置:
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
克隆并配置:
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
配置环境:
python setup_assistant.py # 交互式配置
# 或者
cp .env.example .env && nano .env # 手动配置
验证和测试:
make validate # 验证配置
make test # 运行测试
启动服务器:
python server.py
# 或者
make run
详细的部署说明,请参阅DEPLOYMENT.md。
服务器包含一个全面的设置助手,引导您完成配置:
python setup_assistant.py
助手帮助您:
在以下情况下使用设置助手:
复制.env.example到.env并进行配置:
# MQTT代理配置
MQTT_BROKER=your-broker-host.com
MQTT_PORT=8883
MQTT_USER=your-username
MQTT_PASSWORD=your-password
MQTT_USE_TLS=true
# TLS配置(当MQTT_USE_TLS=true时)
MQTT_CA_CERT=/path/to/ca.crt
MQTT_CERT_FILE=/path/to/client.crt
MQTT_KEY_FILE=/path/to/client.key
# Coreflux Copilot API
DO_AGENT_API_KEY=your-api-key-here
# 日志配置
LOG_LEVEL=INFO
LOG_FILE=/var/log/coreflux-mcp.log
详细的配置选项,请参阅配置指南。
定位Claude桌面配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%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桌面
安全提示:对于生产部署,将秘密存储在安全的环境变量或秘密管理系统中,而不是Claude配置文件中。
为了更好的安全性,使用环境变量而不是硬编码凭据:
{
"mcpServers": {
"coreflux": {
"command": "python",
"args": ["/path/to/your/server.py"],
"env": {
"MQTT_BROKER": "${COREFLUX_MQTT_BROKER}",
"MQTT_PORT": "${COREFLUX_MQTT_PORT}",
"MQTT_USER": "${COREFLUX_MQTT_USER}",
"MQTT_PASSWORD": "${COREFLUX_MQTT_PASSWORD}",
"DO_AGENT_API_KEY": "${COREFLUX_API_KEY}"
}
}
}
}
配置完成后,通过询问Claude来测试连接:
你能检查Coreflux MCP服务器的健康状况并向我展示代理信息吗?
如果连接成功,Claude应该会回复系统状态和代理详情。
服务器向Claude提供了以下工具:
publish_to_coreflux - 发布消息到MQTT主题,带有QoS和保留选项get_broker_info - 获取关于MQTT代理连接的详细信息copilot_assist - 查询Coreflux Copilot AI以获取自动化辅助和代码生成comprehensive_health_check - 对所有系统组件执行详细的健康检查详细的API文档,请参阅API_DOCUMENTATION.md。
安装开发依赖项:
pip install -r requirements-dev.txt
安装预提交钩子:
pre-commit install
运行完整的开发设置:
make dev-setup # 完整的开发环境设置
运行全面的测试套件:
# 运行所有测试
make test
# 运行带有覆盖率的测试
make test-coverage
# 运行特定测试类别
make test-unit # 仅单元测试
make test-integration # 仅集成测试
使用自动化工具维护代码质量:
# 格式化代码
make format
# 运行linters
make lint
# 安全扫描
make security-check
# 类型检查
make type-check
# 运行所有质量检查
make quality-check
可用的开发命令:
# 开发工作流
make dev-setup # 设置完整的开发环境
make validate # 验证配置和环境
make run # 带验证启动服务器
make run-debug # 在调试模式下启动服务器
# 测试和验证
make test # 运行所有测试
make test-coverage # 运行带有覆盖率报告的测试
make test-unit # 仅运行单元测试
make validate-config # 验证配置文件
# 代码质量
make format # 使用black和isort格式化代码
make lint # 运行所有linters(flake8,bandit,mypy)
make security-check # 运行安全扫描
make type-check # 使用mypy进行类型检查
# Docker操作
make docker-build # 构建Docker镜像
make docker-run # 在Docker容器中运行
make docker-test # 在Docker中运行测试
# 文档
make docs # 生成文档
make docs-serve # 本地服务文档
server.py - 主MCP服务器,包含工具实现config_validator.py - 配置验证和环境检查message_processor.py - 异步MQTT消息处理,带速率限制enhanced_logging.py - 结构化日志,带轮转和安全过滤config_schema.py - Pydantic模式,用于类型安全配置parser.py - 消毒和解析实用程序# 克隆并配置
git clone https://github.com/CorefluxCommunity/Coreflux-MQTT-MCP-Server.git
cd Coreflux-MQTT-MCP-Server
# 复制并编辑环境文件
cp .env.example .env
nano .env # 配置您的设置
# 使用Docker Compose启动
docker-compose up -d
# 查看日志
docker-compose logs -f coreflux-mcp-server
# 健康检查
docker-compose exec coreflux-mcp-server python -c "
import os
os.system('python server.py --health-check')
"
请参阅DEPLOYMENT.md,了解包括以下内容在内的全面生产部署说明:
服务器通过Coreflux Copilot API提供了强大的AI辅助:
# 方案1:环境文件
echo "DO_AGENT_API_KEY=your_api_key_here" >> .env
# 方案2:环境变量
export DO_AGENT_API_KEY=your_api_key_here
请求Claude帮助进行Coreflux自动化:
生成一个温度监测系统的LOT代码,当温度超过75°F时触发警报
帮我创建一个处理传感器数据并将其存储在数据库中的规则
服务器包含一个强大的异步消息处理器,它:
全面的日志记录,具有企业特性:
强大的验证系统,检查:
服务器支持各种合规要求:
详细的安全部分,请参阅SECRET_MANAGEMENT.md。
使用comprehensive_health_check工具进行全面健康监控:
# 手动健康检查
python server.py --health-check
# 或者询问Claude:
# "请对Coreflux MCP服务器运行全面健康检查"
服务器提供详细的指标:
配置警报:
我们欢迎贡献!请参阅我们的贡献指南:
git checkout -b feature/amazing-featurepip install -r requirements-dev.txtpre-commit installmake quality-checkgit commit -am 'Add amazing feature'git push origin feature/amazing-feature本项目根据Apache许可证2.0发布 - 详见LICENSE文件。
连接拒绝
错误:MQTT连接失败