MCP server for the Coreflux MQTT broker, enabling AI agents to transfom the broker into a automation hub and interact with IoT devices and messaging systems through the MQTT protocol.
Stars
Forks
License
Updated June 6, 2025
This is a Model Context Protocol (MCP) server that connects to a Coreflux MQTT broker and makes Coreflux and MQTT actions available as tools for Claude and other MCP-compatible AI assistants.
The server includes a standalone setup assistant that can be run separately from the main server. Run the setup assistant when:
To run the setup assistant:
python setup_assistant.py
The setup assistant helps you:
.env
file with your configurationAfter configuration is complete, you can run the server normally.
~/Library/Application Support/Claude/claude_desktop_config.json
(macOS/Linux) or %USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json
(Windows){
"mcpServers": {
"coreflux": {
"command": "python",
"args": [
"/PATH/TO/server.py",
"--mqtt-host", "localhost",
"--mqtt-port", "1883",
"--mqtt-user", "root",
"--mqtt-password", "coreflux",
"--mqtt-client-id", "claude-coreflux-client"
],
"description": "Coreflux MQTT Broker Control",
"icon": "🔄",
"env": {}
}
}
}
The server accepts the following command-line arguments. These settings can also be configured via the .env
file using the setup assistant:
Argument | Description | Default |
---|---|---|
--mqtt-host | MQTT broker address | localhost |
--mqtt-port | MQTT broker port | 1883 |
--mqtt-user | MQTT username | - |
--mqtt-password | MQTT password | - |
--mqtt-client-id | MQTT client ID | claude-mcp-client |
--mqtt-use-tls | Enable TLS for MQTT connection | false |
--mqtt-ca-cert | Path to CA certificate file | - |
--mqtt-client-cert | Path to client certificate file | - |
--mqtt-client-key | Path to client key file | - |
--log-level | Logging level (DEBUG/INFO/WARNING/ERROR/CRITICAL) | INFO |
The server provides tools for common Coreflux commands:
add_rule
: Add a new permission ruleremove_rule
: Remove a permission ruleadd_route
: Add a new route connectionremove_route
: Remove a route connectionadd_model
: Add a new model structureremove_model
: Remove a model structureadd_action
: Add a new action event/functionremove_action
: Remove an action event/functionrun_action
: Run an action event/functionremove_all_models
: Remove all modelsremove_all_actions
: Remove all actionsremove_all_routes
: Remove all routeslist_discovered_actions
: List all discovered Coreflux actionsrequest_lot_code
: Generate LOT code based on natural language promptsIf you encounter issues:
python setup_assistant.py
# Check Claude's logs for errors (macOS/Linux)
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Windows PowerShell
Get-Content -Path "$env:USERPROFILE\AppData\Roaming\Claude\Logs\mcp*.log" -Tail 20 -Wait
# Direct execution with debug logging
python server.py --mqtt-host localhost --mqtt-port 1883 --log-level DEBUG