GitHub - CorefluxCommunity/Coreflux-MQTT-MCP-Server: Coreflux MQTT MCP Server (original) (raw)
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
.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.
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 5. Run the server with debug logging:
Direct execution with debug logging
python server.py --mqtt-host localhost --mqtt-port 1883 --log-level DEBUG