Coreflux MQTT MCP Server
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.
Features
- Connects to Coreflux MQTT broker
- Provides tools for all Coreflux commands (models, actions, rules, routes)
- Discovers and lists available actions
- Includes LOT language documentation as resources
- Built with the official MCP SDK for seamless Claude integration
- Standalone setup assistant for configuration
Setup Assistant
The server includes a standalone setup assistant that can be run separately from the main server. Run the setup assistant when:
- You need to create an initial configuration (.env file)
- You want to update your existing configuration
- You're experiencing connection issues and need to reconfigure
To run the setup assistant:
python setup_assistant.py
The setup assistant helps you:
- Create or update the
.envfile with your configuration - Configure MQTT broker settings (host, port, credentials)
- Set up TLS configuration if needed
- Configure logging options
After configuration is complete, you can run the server normally.
Connecting Claude to the MCP Server
Using Claude Desktop Config
- Create or edit
~/Library/Application Support/Claude/claude_desktop_config.json(macOS/Linux) or%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json(Windows) - Add the following configuration (adjust the paths accordingly):
{ "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": {} } } } - Restart Claude Desktop
Command-Line Arguments
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 |
Available Tools
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 prompts
Debugging and Troubleshooting
If you encounter issues:
- Verify your MQTT broker credentials in your Claude configuration
- Ensure the broker is accessible
- Run the setup assistant to verify or update your configuration:
python setup_assistant.py - Check Claude Desktop logs:
# 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 - Run the server with debug logging:
# Direct execution with debug logging python server.py --mqtt-host localhost --mqtt-port 1883 --log-level DEBUG




