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.
- 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
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
.env
file 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.
- 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
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 prompts
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