Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"nr-mcp": {
"env": {
"NR_URL": "http://localhost:1880",
"NR_PASS": "your-password",
"NR_USER": "admin"
},
"command": "nr-mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server that lets AI assistants interact with Node-RED — read flows, search nodes, edit function code, deploy changes safely, and manage modules.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'nr-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked nr-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in devops / developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Workspace template + MCP server for Claude Code, Codex CLI, Cursor & Windsurf. Multi-agent knowledge engine (ag-refresh / ag-ask) that turns any codebase into a queryable AI assistant.
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
MCP server for using the GitLab API
MCP Security Weekly
Get CVE alerts and security updates for Nr MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server that lets AI assistants interact with Node-RED — read flows, search nodes, edit function code, deploy changes safely, and manage modules.
Built to solve real problems: the existing Node-RED MCP implementations use PUT /flow/:id which reorders your tabs. nr-mcp uses the correct GET → POST /flows pattern with optimistic locking, so your tab order is always preserved.
13 tools for complete Node-RED flow management:
| Tool | Description |
|---|---|
nr_get_flow_summary | Overview of all tabs with node counts and groups |
nr_get_flow | Get a single tab with all nodes — by name or ID |
nr_search_nodes | Search nodes by name, type, or JavaScript code content |
nr_get_function_code | Extract full JS code from function nodes (incl. init/finalize) |
nr_get_node_config | Full config with computed upstream/downstream connections |
nr_get_flow_context | Read flow-level context variables |
nr_safe_deploy | Deploy changes with optimistic locking — never reorders tabs |
nr_create_nodes | Batch-create nodes/groups in a single deploy |
nr_delete_nodes | Batch-delete with automatic wire and group cleanup |
nr_inject | Trigger inject nodes remotely to test flows |
nr_get_installed_modules | List installed modules and available node types |
nr_install_module | Install npm packages from the Node-RED registry |
nr_get_debug_output | Read debug/error data from flow context |
PUT /flow/:id which silently reorders your tabs in Node-RED. nr-mcp uses the correct GET → POST /flows full-deploy pattern.rev field. If someone else deployed between your read and write, you get a clear conflict error instead of silent data loss.pip install nr-mcp
uv tool install nr-mcp
Or from source:
git clone https://github.com/Texan-NXTassist/nr-mcp.git
cd nr-mcp
uv tool install .
This creates the nr-mcp command in ~/.local/bin/.
| Variable | Required | Description |
|---|---|---|
NR_URL | No | Node-RED URL (default: http://localhost:1880) |
NR_TOKEN | No* | Bearer token for token-based auth |
NR_USER | No* | Username for Basic Auth |
NR_PASS | No* | Password for Basic Auth |
* At least one auth method is recommended. Auth is checked in order: token → basic auth → no auth.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"nr-mcp": {
"command": "nr-mcp",
"env": {
"NR_URL": "http://localhost:1880",
"NR_USER": "admin",
"NR_PASS": "your-password"
}
}
}
}
Tip: If you get a "working directory" error, create a wrapper script:
#!/bin/bash cd /tmp exec nr-mcp "$@"Then point
commandto the wrapper path.
Add to your MCP settings (.cursor/mcp.json or VS Code equivalent):
{
"mcpServers": {
"nr-mcp": {
"command": "nr-mcp",
"env": {
"NR_URL": "http://localhost:1880",
"NR_TOKEN": "your-access-token"
}
}
}
}
Once connected, you can ask your AI assi