Coreflux MCP Server
by CorefluxCommunity
The Coreflux MCP Server connects to a Coreflux MQTT broker, providing tools for Claude and other MCP-compatible AI assistants to interact with Coreflux actions. It leverages the Model Context Protocol (MCP) to enable seamless integration and control of Coreflux commands.
Last updated: N/A
Coreflux MCP Server
This is a Model Context Protocol (MCP) server that connects to a Coreflux MQTT broker and makes Coreflux 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
- Interactive setup assistant for first-time configuration
Setup Assistant
The server includes an interactive setup assistant that runs automatically on first launch. This 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
The setup assistant can be disabled by setting ENABLE_SETUP_ASSISTANT = False
in the server.py
file.
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 server again with the setup assistant to verify or update your configuration
- 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