Repository navigation
Releases
v2.0.1
Fixes deploys that reported a failure when they actually worked.
When Node-RED restarts while installing flows it drops the connection before answering, and that used to come back as a bare tool error. Now the server polls GET /flows for up to 60 seconds and reports success if Node-RED is running the same node ids. NODERED_DEPLOY_CONFIRM_TIMEOUT changes how long it waits.
The Admin API route also saves flows.json before pushing, so after a failed push the session mistook its own write for a browser deploy and refused the retry as stale. The retry works now because flows.json only counts as changed when it matches neither what the session loaded nor the pending edits.
The README is also rewritten in plain English.
Full changelog v2.0.0...v2.0.1
v2.0.0
This release makes nodered-mcp work with any Node-RED install. Before, it assumed Node-RED was a Docker container on the same machine.
Connect over the Admin API
Set --nodered-url and the server talks to Node-RED through its Admin API, the same one the editor uses. Deploys install the flows in place, so there is no container restart and no downtime. You don't need Docker, access to the Docker socket, or even to be on the same machine.
If you don't set --flows-path, the server also reads the flows through the API, so it needs no file access at all.
Node-RED tracks a revision for the flows. The server sends back the revision it loaded, and Node-RED rejects the deploy with a 409 if someone else deployed in the meantime. Pass force=true to override.
The old Docker route still works as a fallback when you don't set a URL.
Works with any setup
- Config nodes are now detected by structure instead of a built-in list of node types. Any palette works, including contrib nodes.
- Group colors now follow the editor theme, which is what Node-RED itself does. Set
NODERED_GROUP_STYLEif you want specific colors. - Finding the flow file: with no path and no URL, the server looks in
~/.node-red. A normalnpm install -g node-rednames the file after your hostname, notflows.json. - No more
sudo. The old code triedsudo teewhen saving, which could change flows.json to root ownership and break later writes.
Other changes
--read-onlyhides the editing tools entirely, so a client only sees the read tools.- The staleness check now compares file contents, not just the timestamp, so a deploy no longer makes the next save fail.
Breaking changes
nodered_mcp.flows.CONFIG_TYPEShas been removed.DEFAULT_GROUP_STYLEnow holds Node-RED's default instead of a dark fill. To keep the old look, setNODERED_GROUP_STYLE='{"fill": "#2e333a", "fill-opacity": "0.75"}'.
Both only affect code that imports from this package directly. The MCP tools are unchanged.
Full Changelog: v1.2.0...v2.0.0
v1.2.0
What's Changed
Features
nodered_group(op="decouple")swaps every wire that crosses a group boundary for alink out/link inpair, so groups stop pinning each other in place and a tab can be repacked without dragging wires across it. One pair per wire, both ends listing each other inlinks.- Wires touching an ungrouped node are left alone, and so are wires between a group and its own parent or child. Siblings inside a shared parent still count.
- Each group gains one link column per side, its x fixed from the member extent before any link was added, so a group grows by one column however many wires cross it. Both boxes are refitted afterwards.
- Scope it with
tab_idfor a whole tab orgroup_idfor one group. Dry run unlessapply=true, and it goes on the undo stack. Overlaps introduced by the widened boxes are reported rather than repaired, soarrangestays a separate step.
Full Changelog: v1.1.0...v1.2.0
nodered-mcp v1.1.0
Full Changelog: v1.0.0...v1.1.0
nodered-mcp v1.0.0
Full Changelog: https://github.com/ljmerza/nodered-mcp/commits/v1.0.0