https://github.com/corefluxcommunity/coreflux-mqtt-mcp-server
Coreflux MQTT MCP Server
https://github.com/corefluxcommunity/coreflux-mqtt-mcp-server
Last synced: 3 months ago
JSON representation
Coreflux MQTT MCP Server
- Host: GitHub
- URL: https://github.com/corefluxcommunity/coreflux-mqtt-mcp-server
- Owner: CorefluxCommunity
- License: apache-2.0
- Created: 2025-04-07T09:45:49.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-29T16:47:18.000Z (5 months ago)
- Last Synced: 2025-06-27T23:02:14.548Z (3 months ago)
- Language: Python
- Homepage: https://coreflux.org
- Size: 161 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 reconfigureTo run the setup assistant:
```bash
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 optionsAfter configuration is complete, you can run the server normally.
## Connecting Claude to the MCP Server
### Using Claude Desktop Config
1. Create or edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS/Linux) or `%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json` (Windows)
2. Add the following configuration (adjust the paths accordingly):
```json
{
"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": {}
}
}
}
```
3. 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 rule
- `remove_rule`: Remove a permission rule
- `add_route`: Add a new route connection
- `remove_route`: Remove a route connection
- `add_model`: Add a new model structure
- `remove_model`: Remove a model structure
- `add_action`: Add a new action event/function
- `remove_action`: Remove an action event/function
- `run_action`: Run an action event/function
- `remove_all_models`: Remove all models
- `remove_all_actions`: Remove all actions
- `remove_all_routes`: Remove all routes
- `list_discovered_actions`: List all discovered Coreflux actions
- `request_lot_code`: Generate LOT code based on natural language prompts## Debugging and Troubleshooting
If you encounter issues:
1. Verify your MQTT broker credentials in your Claude configuration
2. Ensure the broker is accessible
3. Run the setup assistant to verify or update your configuration:
```bash
python setup_assistant.py
```
4. Check Claude Desktop logs:
```bash
# 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:
```bash
# Direct execution with debug logging
python server.py --mqtt-host localhost --mqtt-port 1883 --log-level DEBUG
```## References
- [MCP Quickstart for Server Developers](https://modelcontextprotocol.io/quickstart/server)
- [MCP Official Documentation](https://modelcontextprotocol.io/)