nr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NR_URL | No | Node-RED URL (default: http://localhost:1880) | |
| NR_PASS | No | Password for Basic Auth | |
| NR_USER | No | Username for Basic Auth | |
| NR_TOKEN | No | Bearer token for token-based auth |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| nr_get_flow_summaryA | Quick overview of all Node-RED tabs with node counts and groups. |
| nr_get_flowA | Get a single Node-RED tab with all its nodes and groups. Accepts tab name (case-insensitive) or tab ID. |
| nr_search_nodesC | Search Node-RED nodes by name, type, or function code content. Searches in: name, type, func, template, action fields. |
| nr_get_function_codeB | Extract full JavaScript code from a Node-RED function node. |
| nr_get_node_configB | Get full node configuration including wires, upstream/downstream connections, and group membership. |
| nr_get_flow_contextA | Read Node-RED flow context variables. Pass key=null to list all keys, or a specific key to get its value. |
| nr_safe_deployB | Deploy changes to a Node-RED node with optimistic locking. Uses correct GET→POST pattern (never PUT). Preserves tab order. |
| nr_get_installed_modulesA | List installed Node-RED modules and their node types. Optionally filter by module name or node type containing |
| nr_injectA | Trigger an inject node to fire immediately. Use nr_search_nodes to find inject nodes first. The node must be of type 'inject'. |
| nr_create_nodesA | Create one or more new nodes/groups in a single deploy. Each node dict must include 'id', 'type', and 'z' (target tab ID). Groups need 'type': 'group'. Config nodes (e.g. ha-entity-config) use 'z': '' for global scope. |
| nr_delete_nodesA | Delete one or more nodes by ID. Also cleans up references: removes deleted IDs from group.nodes arrays and from other nodes' wires arrays. |
| nr_install_moduleA | Install a new Node-RED module (npm package) from the registry. Use nr_get_installed_modules to check what's already installed first. Installation may take 30-60 seconds. |
| nr_get_debug_outputA | Read debug output from flow context. Use when a flow has a catch node that stores errors/debug data to flow context. Pass key=null to list all context keys. Trigger flow with nr_inject first, then read this. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool targets a distinct operation: creation, deletion, retrieval of various aspects (flow, config, code, context, summary), searching, injecting, module management, and deployment. No two tools have overlapping functionality due to clear scope definitions.
All tools follow the 'nr_verb_noun' pattern with consistent snake_case naming. Verbs are descriptive (create, delete, get, inject, install, safe_deploy, search) and nouns clearly indicate the resource or action.
13 tools cover the core Node-RED management operations without being excessive. The count is well-scoped for typical use cases including node manipulation, flow inspection, module management, and deployment.
The tool set covers CRUD for nodes and flows, searching, debugging, module installation, and deployment. Minor gaps exist (e.g., no explicit tool to update individual node properties, no module uninstall), but the deployment tool and context operations mitigate these for most workflows.