set_pwmLABSCO SUMMARY
The prompts that trigger a command live in the same YAML as the command.
That is what makes this usable without writing a tool per device: you describe the command, its topics, and the phrasings that should reach it, and the mapping from natural language to MQTT is configuration rather than code. Running several devices means several server entries with different config names, which keeps each device's vocabulary separate.
What it is
A bridge between MCP clients and MQTT-connected devices. You declare commands in a YAML file with the prompts that should trigger them, and the server publishes and waits for the response.
What you get
- Publish and subscribe against any MQTT broker — Mosquitto, EMQ X and others — with QoS, username and password auth, and topic-based routing
- Commands defined in config.yaml, each with its own publish topic, response topic and example prompts
- A simple text command format: PWM with a value from 0 to 100, LED on or off, INFO for device details, answered with CMD ... OK or ERROR: with a message
- Several devices at once by running more than one server entry, each pointed at a different config file
- A device simulator in tests/responder.py, so you can try the whole loop with no hardware
Requirements
Python with uv, and a reachable MQTT broker. Install scripts are provided for Windows, macOS and Ubuntu or Raspberry Pi, and they configure Claude Desktop if it is installed. The config file goes in the working directory, in a .mcp2mqtt folder under your home directory, or in a system-wide location — the first one found wins. Run it with uvx mcp2mqtt, adding --config and a name to pick a specific profile.
Setup effort
One command — uvx mcp2mqtt
USE CASES
Controlling a device you built yourself
Describe the command and its MQTT topics in YAML, and drive it by talking.
Trying the setup before the hardware arrives
Run the bundled responder to simulate a device that answers PWM, LED and INFO.
Adding a second device
Add another server entry pointed at its own config file, so the two vocabularies do not collide.
Reaching devices on an existing broker
Point it at the Mosquitto or EMQ X broker your devices already publish to, with the credentials they already use.
3 tools
Listed in project docs. Your client may show a different list.
get_pico_infoled_controlBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
uvx on PATH
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx mcp2mqttMCP Clients
Claude Desktop, Cline
{
"mcpServers": {
"mcp2mqtt": {
"command": "uvx",
"args": [
"mcp2mqtt"
]
}
}
}