node-red-mcp
Provides tools for managing Node-RED flows and nodes, including creating, reading, updating, deleting flows, adding/removing/rewiring nodes, capturing debug output, and analyzing graph topology.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@node-red-mcplist all flows and their node counts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
A production-ready MCP server that connects AI assistants (Claude, Copilot, etc.) to the Node-RED Admin API.
Inspect flows, manage nodes, analyze graph topology, capture debug output, apply JSON patches, and rollback changes ā all through natural language.
Architecture
graph TB
subgraph "AI Client"
A[Claude Desktop]
B[VS Code MCP]
C[Custom Client]
end
subgraph "MCP Server @mysterysd/node-red-mcp"
direction LR
T[Transport Layer<br/>stdio / SSE / streamableHttp]
S[Server Factory<br/>McpServer]
T --> S
S --> Tools[38 Tools<br/>flows / nodes / graph / auth / runtime]
S --> Res[7 Resources<br/>settings / flows / graph / registry]
S --> Prompts[3 Prompts<br/>analyze / repair / refactor]
Tools --> GE[Graph Engine<br/>DAG analysis / cycles / search]
Tools --> NR[Node Registry<br/>persistent name-to-ID lookup]
Tools --> Snap[Snapshots<br/>20-deep ring buffer per flow]
Tools --> Debug[Debug Capture<br/>WebSocket /comms]
end
subgraph "Node-RED Instance"
NR_API[Admin REST API<br/>:1880]
NR_WS[WebSocket<br/>:1880/comms]
end
A & B & C -->|MCP Protocol| T
S -->|axios| NR_API
Debug -->|ws| NR_WSRelated MCP server: n8n-mcp-server
Data Flow
sequenceDiagram
participant AI as AI Assistant
participant MCP as node-red-mcp
participant NR as Node-RED
AI->>MCP: flows-create(label, nodes)
MCP->>MCP: auto-generate node IDs
MCP->>MCP: auto-layout positions
MCP->>NR: POST /flow
NR-->>MCP: { id, rev }
MCP->>MCP: refresh NodeRegistry
MCP-->>AI: { status, flowId }
AI->>MCP: flows-add-node(flowId, node)
MCP->>NR: GET /flow/:id
MCP->>MCP: snapshot current state
MCP->>MCP: append node, validate wires
MCP->>NR: PUT /flow/:id
MCP->>MCP: refresh NodeRegistry
MCP-->>AI: { status, nodeId }
AI->>MCP: nodes-resolve(query)
MCP->>MCP: lookup in NodeRegistry
MCP-->>AI: { matches: [...] }Features
š 3 Transport Modes ā stdio (default), SSE, streamable HTTP
š 38 MCP Tools ā full coverage of flows, nodes, runtime, auth, inject, graph analysis, and debug capture
š§© 5 Node-Level Mutation Tools ā add, remove, update, rewire, and move individual nodes without rewriting entire flows
š Graph Engine ā auto-builds directed acyclic graph (DAG) from flow topology, detects cycles, sources, sinks, and computes node categories
šļø Node Registry ā persistent, auto-synced hot DB for looking up node IDs by name, type, label, and flow
š Semantic Search ā query flows by node name, type, topic, URL, or any metadata
š Live Debug Capture ā WebSocket-based capture of Node-RED debug output, combined with inject or standalone
š§ JSON Patch ā RFC 6902 compliant patch engine for incremental flow edits
šø Snapshots ā in-memory 20-entry ring buffer per flow for rollback
š 7 Resources + 3 Prompts ā inspect runtime settings, diagnostics, flows, graph, registry, and get AI-assisted analysis
Table of Contents
Installation
npm install -g @mysterysd/node-red-mcpOr run directly without installing:
npx @mysterysd/node-red-mcpPrerequisites
Node.js >= 18
Node-RED instance running with the Admin API enabled (default:
http://localhost:1880)
Quick Start
# 1. Set your Node-RED URL (default: http://localhost:1880)
export NODE_RED_URL=http://my-nodered:1880
# 2. Start the MCP server in stdio mode
npx @mysterysd/node-red-mcpThen configure your MCP client:
The server auto-refreshes the Node Registry on startup, so all your nodes are immediately searchable by name.
Claude Desktop / VS Code
{
"mcpServers": {
"node-red": {
"command": "npx",
"args": ["@mysterysd/node-red-mcp"],
"env": {
"NODE_RED_URL": "http://localhost:1880",
"NODE_RED_ACCESS_TOKEN": "your-token"
}
}
}
}opencode
{
"mcpServers": {
"node-red": {
"command": "node",
"args": ["path/to/dist/index.js", "stdio"],
"env": {
"NODE_RED_URL": "http://localhost:1880"
}
}
}
}Configuration
All configuration is via environment variables:
Variable | Default | Description |
|
| Base URL of the Node-RED Admin API |
| ā | Bearer token for API auth (takes precedence over |
| ā | Alternative name for the bearer token |
| ā | Username for password-based auth |
| ā | Password for password-based auth |
|
| HTTP server port for HTTP transports |
|
| Fallback port (overridden by |
|
| File path for persistent Node Registry |
Copy.env.example to .env as a reference for all available environment variables.
Authentication
The server supports two auth methods:
Token-based (recommended):
export NODE_RED_TOKEN="your-bearer-token"Password-based (auto-login on first request):
export NODE_RED_USERNAME="admin" export NODE_RED_PASSWORD="your-password"
If neither is set, the server will attempt unauthenticated requests (Node-RED's default for local-only deployments).
Avoid usingNODE_RED_TOKEN in shared or version-controlled config files. Use environment-specific secrets whenever possible.
Usage
# stdio mode (default ā for Claude Desktop, VS Code, etc.)
node-red-mcp
node-red-mcp stdio
# SSE mode (HTTP server on :3001)
node-red-mcp sse
# Streamable HTTP mode (HTTP server on :3002)
node-red-mcp streamableHttpTransport Modes
Mode | Protocol | Best For |
| stdin/stdout JSON-RPC | Claude Desktop, VS Code MCP extensions |
| Server-Sent Events | Remote or containerized setups |
| HTTP POST + DELETE | Stateless proxies, load-balanced deployments |
Debug Capture
Two tools provide real-time debug output capture via Node-RED WebSocket (/comms):
Tool | Description |
| Inject + capture ā fires inject, listens, returns both result and debug messages in one call |
| Standalone listener ā connects, subscribes to |
Example (one-call inject + verify):
// node-red-inject({ nodeId: "my-inject", waitForDebug: 5 })
ā { status: "injected", debug: [...], debugCount: 3 }Both tools handle Node-RED's array-batched WebSocket format automatically.
Tools Reference
All 38 tools are registered with the MCP server. Each returns JSON output.
Auth
Tool | Description |
| Inspect the active Node-RED admin auth scheme |
| Exchange credentials for a bearer token |
| Revoke an existing bearer token |
Runtime
Tool | Description |
| Read runtime settings |
| Read runtime diagnostics |
| Read runtime flow state |
| Update runtime flow state |
| Capture debug messages via WebSocket for a duration (optionally filtered by node/flow) |
Flows
Tool | Description |
| List active flow tabs and metadata |
| Get a single flow by id or label |
| Create a new flow tab with nodes (auto-generates IDs, auto-layouts positions, remaps wires) |
| Replace an existing flow tab (auto-layouts positions) |
| Apply JSON Patch (RFC 6902) operations to a flow |
| Delete a flow tab |
| Clone an existing flow tab |
| Rollback a flow to a previous snapshot |
| Trigger an inject node by its ID (optionally |
Node-Level Mutations
Tool | Description |
| Add a single node to an existing flow tab. Auto-generates ID if omitted, validates wire targets, positions intelligently. |
| Remove a single node from a flow tab. Cleans up wire references from all remaining nodes. |
| Update specific properties of a single node by ID. Deep-merges the provided properties onto the existing node. Reports which keys changed. |
| Replace all wire connections for a specific node. Validates all target IDs exist in the flow. |
| Move a single node to a specific visual position (x, y) within a flow tab. |
Graph
Tool | Description |
| Analyze topology, dependencies, and graph health |
| Summary statistics and risk assessment |
| Generate a human-readable graph view |
| Resolve upstream and downstream dependencies for a node |
| Search nodes by semantic query |
| Context pack for semantic search with neighbor expansion |
| Export the full flow graph in serializable format |
Nodes
Tool | Description |
| List installed node modules and node sets |
| Install a node module from npm |
| Inspect a specific node module |
| Enable or disable a node module |
| Remove a node module |
| Inspect a specific node set within a module |
| Enable or disable a node set |
| Look up node IDs by name, type, description, or flow label using the Node Registry |
Resources
URI | Description |
| Current runtime settings (JSON) |
| Runtime diagnostics (JSON) |
| All active flows (raw JSON) |
| All installed nodes (JSON) |
| Full graph snapshot (serializable format) |
| Single flow by ID (template) |
| Node Registry snapshot ā all indexed nodes with names, types, flow labels, and categories |
Prompts
Prompt | Description |
| Analyze a flow for risks, dependencies, and graph structure |
| Draft a repair plan for invalid or broken flow wiring |
| Suggest a graph-aware refactor plan for a flow |
Node Registry
The Node Registry is a persistent, auto-synced hot database that indexes every node across all flows.
graph LR
subgraph "Node Registry"
NR[(registry.json)]
L[lookupInRegistry]
GF[getRegistryForFlow]
GS[getRegistrySnapshot]
end
MC[flows-create] -->|refresh| NR
MU[5 Mutation Tools] -->|refresh| NR
FU[flows-update] -->|refresh| NR
ST[Server Start] -->|initial load| NR
NR -->|query| RS[nodes-resolve tool]
NR -->|expose| RES[node-red://registry resource]How it works
Startup:
refreshRegistry(client)fetches all flows via Admin API and builds an indexPersistence: Index saved to
NODE_REGISTRY_PATH(default:./node-registry.json) as JSONAuto-sync: Every mutation tool (add, remove, update, rewire, move) and flows-create/update triggers a refresh
Lookup: Search by name, type, ID, or flow label with fuzzy matching and result ranking
Categories: Each node is categorized as
source,debug,transform,network,messaging,storage,template,dashboard,config, orother
Example query:
// nodes-resolve({ query: "Temperature", flowLabel: "Factory Floor" })
ā {
"matches": [
{ "id": "abc123", "type": "inject", "name": "Temperature Sensor",
"flowId": "...", "flowLabel": "Factory Floor", "category": "source" }
]
}Client Library
The client library (src/client/index.ts) provides a standalone NodeRedClient class you can use programmatically:
import { NodeRedClient } from "@mysterysd/node-red-mcp/client";
const client = new NodeRedClient({
baseUrl: "http://localhost:1880",
accessToken: process.env.NODE_RED_ACCESS_TOKEN,
});
// List all flows
const flows = await client.getFlows();
// Get a specific flow
const flow = await client.getFlow("flow-id");
// Install a node
await client.installNode({ module: "node-red-contrib-something" });API
class NodeRedClient {
baseUrl: string; // Public getter (for WebSocket URL construction)
constructor(options: ClientOptions);
// Auth
getAuthScheme(): Promise<AuthScheme>;
login(credentials?: AuthCredentials): Promise<TokenResponse>;
revoke(token?: string): Promise<unknown>;
// Runtime
getSettings(): Promise<Record<string, unknown>>;
getDiagnostics(): Promise<Record<string, unknown>>;
getFlowState(): Promise<unknown>;
setFlowState(state: unknown): Promise<unknown>;
// Flows
getFlows(): Promise<FlowsResponse>;
getFlow(id: string): Promise<FlowDocument>;
createFlow(flow: FlowDocument): Promise<FlowDocument>;
updateFlow(id: string, flow: FlowDocument): Promise<FlowDocument>;
deleteFlow(id: string): Promise<unknown>;
// Nodes
listNodes(): Promise<unknown>;
installNode(payload: Record<string, unknown>): Promise<unknown>;
getNodeModule(module: string): Promise<unknown>;
toggleNodeModule(module: string, enabled: boolean): Promise<unknown>;
removeNodeModule(module: string): Promise<unknown>;
getNodeSet(module: string, set: string): Promise<unknown>;
toggleNodeSet(module: string, set: string, enabled: boolean): Promise<unknown>;
// Inject
inject(nodeId: string): Promise<unknown>;
}Graph Engine
The graph engine (src/graph/) is a standalone library for building and analyzing Node-RED flow topologies:
import { buildGraph, formatGraph } from "@mysterysd/node-red-mcp/graph/engine";
import { queryGraph } from "@mysterysd/node-red-mcp/graph/search";
import { applyPatch } from "@mysterysd/node-red-mcp/graph/patch";graph TD
RAW[Raw Flows<br/>from Admin API] --> BG[buildGraph]
BG --> FG[FlowGraph]
FG --> VA[graph-analyze]
FG --> VS[graph-visualize]
FG --> DP[graph-dependencies]
FG --> QY[queryGraph<br/>semantic search]
FG --> PK[graph-pack<br/>context pack]
FG --> SM[summarizeGraph]
FG --> EX[graph-export]Graph Types
interface FlowGraph {
rev: string;
tabs: FlowTab[];
nodes: FlowNode[];
nodeById: Map<string, FlowNode>;
adjacency: Map<string, string[]>; // forward edges
reverseAdjacency: Map<string, Set<string>>; // backward edges
edges: GraphEdge[];
sources: string[]; // nodes with 0 in-degree
sinks: string[]; // nodes with 0 out-degree
cycles: string[][]; // detected cycles
categories: Map<string, NodeCategory>;
}Functions
Function | Description |
| Build a |
| Classify node as source, debug, transform, subflow, config, dashboard, or other |
| Check if a node is a config node (no position, no wires) |
| BFS/DFS from a start node to collect all reachable nodes |
| Convert graph to plain JSON-safe format |
| Produce a human-readable topology view |
| Detect all cycles in a directed graph |
| Build a searchable text index over all nodes |
| Search nodes by semantic query (returns scored results) |
| Find matching nodes + expand to neighbors |
| Generate a summary with counts, categories, risky nodes |
| Apply RFC 6902 JSON Patch operations |
Development
# Clone and install
git clone https://github.com/mysterysd/node-red-mcp.git
cd node-red-mcp
npm install
# Build
npm run build
# Watch mode
npm run watch
# Test (with coverage)
npm test
# Lint
npm run prettier:check
npm run prettier:fixProject Structure
src/
āāā config.ts # Centralized env var config
āāā client/ # NodeRedClient ā Admin API wrapper
āāā graph/ # Graph engine (types, engine, search, patch, registry)
ā āāā registry.ts # NodeRegistry ā persistent name-to-ID hot DB
āāā tools/
ā āāā auth/ # 3 tools: get-scheme, login, revoke
ā āāā runtime/ # 5 tools: settings, diagnostics, flow-state, debug-listen
ā āāā flows/ # 14 tools: list, get, create, update, patch, delete, clone,
ā ā # rollback, inject, add-node, remove-node, update-node,
ā ā # rewire-node, move-node
ā ā āāā mutation-utils.ts # Shared mutateFlow() utility
ā āāā graph/ # 7 tools: analyze, summary, visualize, dependencies,
ā ā # query, pack, export
ā āāā nodes/ # 8 tools: list, install, get-module, toggle-module,
ā # remove-module, get-set, toggle-set, resolve
āāā resources/ # 7 MCP resource handlers (incl. registry)
āāā prompts/ # 3 MCP prompt templates
āāā server/ # McpServer factory
āāā transports/ # stdio, SSE, streamableHttp
āāā __tests__/ # 171 unit tests (17 files)
āāā index.ts # CLI entry pointTest Stats
171 unit tests across 17 test files
~77% overall coverage (core modules at 100%)
25 integration tests against live Node-RED
Coverage includes: all 5 mutation tools (94ā100%), registry (90%), resolve (100%)
Docker
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-alpine AS production
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/package*.json ./
RUN npm ci --omit=dev
EXPOSE 3002
ENV NODE_RED_URL=http://nodered:1880
CMD ["node", "dist/index.js", "streamableHttp"]Build and run:
docker build -t node-red-mcp .
docker run -e NODE_RED_URL=http://host.docker.internal:1880 -p 3002:3002 node-red-mcpLicense
MIT Ā© Mystery SD
Available Tools
37 toolsnode-red-auth-get-schemeGet Auth SchemeA
Inspect the active Node-RED admin auth scheme
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the basic purpose and fails to mention whether the operation is read-only, requires authentication, or what the response format is. This is a significant gap for a tool that returns sensitive admin configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the tool's purpose. Every word earns its place, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of any annotations, output schema, or parameter details, the description is insufficiently complete. It does not explain what the 'auth scheme' entails (e.g., type, configuration details) or what the tool returns, leaving the agent to guess about the response structure. The simplicity of the tool does not excuse the lack of output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% schema description coverage, so the description does not need to add parameter-level details. Per calibration guidelines, 0 parameters merits a baseline of 4, and the description does not detract from that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'inspect' and clearly identifies the resource as 'the active Node-RED admin auth scheme'. It distinguishes itself from sibling authentication tools like 'login' (which creates a session) and 'revoke' (which destroys one), making the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to check the current auth scheme, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or context such as requiring an active session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-auth-loginLoginC
Exchange Node-RED credentials for a bearer token
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | * | |
| password | No | ||
| username | No | ||
| client_id | No | node-red-admin | |
| grant_type | No | password |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It fails to disclose potential side effects, error scenarios, or the fact that it returns a token. The word 'exchange' implies mutation but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded, but at the expense of necessary detail. Every word earns its place, but the description is under-specified for the number of parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 5 undocumented parameters, the description is critically incomplete. The agent cannot determine required inputs, expected output, or proper usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 5 parameters with 0% schema description coverage, and the description adds no meaning to any parameter (e.g., scope, grant_type). The agent gets no help understanding purpose or valid values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: exchange credentials for a bearer token. It uses a specific verb and resource, and distinguishes itself from sibling auth tools like revoke or get-scheme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., needing valid credentials), and no indication of order of operations relative to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-auth-revokeRevoke TokenC
Revoke a Node-RED bearer token
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It fails to state the consequences of revocation (e.g., immediate invalidation, idempotency, error handling), side effects, or permission requirements. The agent cannot anticipate the tool's full behavior from this description alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 5 words, but this comes at the cost of necessary detail. It is front-loaded and efficient, yet under-specifies key aspects. For a simple tool, brevity is acceptable, but it should still cover essentials like parameter meaning and behavioral notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, no output schema, and no annotations, the description should provide a complete picture of invocation, side effects, and return behavior. It only states the basic action, leaving the agent ignorant of response format, error states, and whether the operation is safe to repeat. This is insufficient for reliable selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (the 'token' parameter has no description). The description only says 'Revoke a Node-RED bearer token', implying the parameter is the token to revoke, but offers no details on format (e.g., full token vs. JWT, with/without 'Bearer'), required properties, or constraints. This fails to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Revoke a Node-RED bearer token' clearly states the specific action (revoke) and the resource (bearer token). It distinguishes from sibling tools like 'node-red-auth-login' which creates tokens, and other runtime tools, leaving no ambiguity about the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., token must be valid), no exclusions, and no context about typical usage scenarios like logout or security incidents. The agent receives no help in deciding appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-debug-listenListen DebugC
Capture Node-RED debug messages via WebSocket for a specified duration
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | No | Filter by flow ID | |
| nodeId | No | Filter by source node ID | |
| duration | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It mentions WebSocket but fails to disclose whether the tool blocks or is asynchronous, how results are returned (e.g., stream vs. batch), or resource implications. Important behaviors like cancellation or timeout handling are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and not verbose, but it sacrifices necessary details for brevity. While concise, it does not fully earn its place as it leaves key questions unanswered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete given the tool's complexity (streaming data via WebSocket). It does not explain the return format, how to stop listening, or behavior on duration expiry. With no output schema, more descriptive detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (2 of 3 parameters described). The description adds no new meaning beyond the schema; for example, 'duration' lacks unit or behavior explanation. Given coverage below 80%, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (capture), the resource (debug messages), the mechanism (via WebSocket), and a constraint (specified duration). It is specific and effectively distinguishes from other tools, as no sibling tool directly handles debug message capture.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, or any prerequisites. It implicitly suggests use for listening to debug messages, but lacks context such as requiring a running Node-RED instance or WebSocket support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-add-nodeAdd Node to FlowA
Add a single node to an existing flow tab. Auto-generates ID if omitted, validates wire targets, and positions the new node.
| Name | Required | Description | Default |
|---|---|---|---|
| node | Yes | Node object (at minimum 'type' is required) | |
| flowId | Yes | ID of the target flow tab | |
| expectedRev | No | Optional revision guard for conflict detection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It mentions auto-generating ID, validating wire targets, and positioning, but lacks details on idempotency, error states, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise and front-loaded with the action, containing no redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does not need to explain return values. It provides adequate context for the node object and flow operations, but could elaborate on node constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description adds context about auto-generating IDs and validating wire targets, improving understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Add) and resource (a single node to an existing flow tab), and distinguishes from sibling tools like remove-node or update-node by specifying it adds a node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (adding a node) but does not explicitly state when not to use it or provide alternatives. However, the sibling list makes the context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-cloneClone FlowC
Clone an existing flow tab
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | ||
| sourceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It only states the basic action without revealing important details such as whether it creates a deep copy, how it handles nodes, side effects on the original, required permissions, or the response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extra words. However, it is too minimal to be fully helpful, which slightly reduces the score from a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, and only 2 parameters, the description should provide more context such as parameter explanations, return value, and behavioral caveats. It falls short of being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters ('sourceId' required, 'label' optional) with 0% schema description coverage. The description does not explain either parameter, leaving the agent to infer that 'sourceId' is the flow to clone and 'label' might be the new name. This is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Clone') and the resource ('an existing flow tab'). This distinguishes it from sibling tools like 'create', 'update', 'delete', etc., which perform different operations on flow tabs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'create' for a new flow or 'update' for modifying an existing one. The description lacks prerequisites or context for deciding between clone and other flow-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-createCreate FlowC
Create a new flow tab in Node-RED
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | ||
| nodes | Yes | ||
| configs | No | ||
| subflows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source of behavioral info. It only states 'Create a new flow tab' without disclosing effects (e.g., immediate persistence), authentication needs, or whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but overly minimal. It lacks any structural elements like bullet points or additional context that would justify such brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no output schema, no annotations), the description is severely incomplete. It fails to explain return values, error handling, or the structure of the flow object being created, making it insufficient for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no information about parameters like 'nodes', 'configs', or 'subflows'. The parameter names alone are insufficient for an agent to correctly construct the input, especially for complex nested objects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Create) and the resource (a new flow tab in Node-RED). It distinguishes itself from sibling tools like node-red-flows-list, node-red-flows-get, and node-red-flows-update by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., node-red-flows-clone for copying an existing flow, or node-red-flows-update for modifying). No prerequisites or context for usage are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-deleteDelete FlowC
Delete a flow tab from Node-RED
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description fails to disclose any behavioral traits beyond the action. No indication of side effects, permissions, or whether the action is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words, appropriate for a simple delete operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing critical context: no indication of return values, side effects, or confirmation requirements. For a delete operation, more details are expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description adds no meaning for the 'id' parameter beyond its existence. The value's nature (e.g., flow tab identifier) is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and resource ('a flow tab from Node-RED'), distinguishing it from sibling tools like node-red-flows-list or node-red-flows-get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, prerequisites, or alternatives. No mention of permanent deletion or recovery options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-getGet FlowB
Get a single flow tab by id or label
| Name | Required | Description | Default |
|---|---|---|---|
| idOrLabel | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal description but for a simple get operation it's adequate. No annotations provided, so description carries full burden; it doesn't disclose error behavior or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with no unnecessary words, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameter descriptions, the tool description lacks completeness on return values, error handling, and prerequisite conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and description adds no extra meaning beyond property name 'idOrLabel'. It fails to clarify expected format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it gets a single flow tab by id or label, distinguishing from list and modification tools. However, it doesn't specify if it returns the flow data or just metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use versus sibling tools like node-red-flows-list, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-listList FlowsB
List active flow tabs and metadata from Node-RED
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It does not explicitly state that the operation is read-only or non-destructive, nor does it mention any side effects, authentication needs, or rate limits. The name 'list' hints at a safe operation, but the description does not confirm this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and resource. It is concise and contains no redundant information. However, it could be expanded slightly to include more detail about the response format without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no parameters and no output schema, the description is adequate but not fully complete. It mentions 'metadata' but does not specify what metadata fields are returned. For a list tool, additional context about the output structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage. According to the guidelines, this sets a baseline of 4. The description does not need to explain parameter semantics as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'active flow tabs and metadata'. It distinguishes from sibling tools like node-red-flows-get (which likely retrieves a specific flow) by implying it lists multiple flows. However, it doesn't explicitly contrast with other list-oriented sibling tools like node-red-nodes-list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives (e.g., node-red-flows-get for a single flow). The description lacks context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-move-nodeMove NodeA
Move a single node to a specific visual position (x, y) within a flow tab.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | New X position | |
| y | Yes | New Y position | |
| flowId | Yes | ID of the target flow tab | |
| nodeId | Yes | ID of the node to move | |
| expectedRev | No | Optional revision guard for conflict detection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the tool moves a node visually, but does not mention side effects (e.g., wires preserved, auth requirements, or possible UI re-rendering). Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no filler. Front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description omits return values or error conditions. For a simple mutation tool, it is adequate but could mention response format (e.g., updated node or success status).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds minimal value beyond schema, e.g., confirming x/y as visual coordinates. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the verb 'move', the resource 'a single node', and the destination 'specific visual position (x, y) within a flow tab'. It distinguishes from sibling tools like update-node or rewire-node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives (e.g., update-node for property changes). The action is implied but lacks context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-patchPatch FlowC
Apply JSON patch operations to a flow tab
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| operations | Yes | ||
| expectedRev | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry the burden of behavioral disclosure. It mentions 'Apply JSON patch operations' implying modification, but lacks details on authorization, side effects, error conditions, or the specific JSON Patch standard (RFC 6902). This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-specified. It lacks essential details, making it less effective. It earns a mid-range score for brevity but loses points for missing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (JSON patch operations, revision handling) and lack of output schema, the description fails to explain return values, error handling, or behavioral expectations. It is not sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining parameters. It provides no information about 'id', 'operations', or 'expectedRev', leaving the agent to guess their meanings and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool applies JSON patch operations to a flow tab, which is a specific action. It distinguishes from sibling tools like 'node-red-flows-update' by implying partial updates via patch. However, it could be more explicit about the difference between patch and update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'node-red-flows-update' or 'node-red-flows-create'. The description only states what it does without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-remove-nodeRemove Node from FlowA
Remove a single node from a flow tab. Cleans up wire references from all remaining nodes.
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | Yes | ID of the target flow tab | |
| nodeId | Yes | ID of the node to remove | |
| expectedRev | No | Optional revision guard for conflict detection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It reveals that wire references are cleaned up, which is helpful. However, it does not disclose whether the operation is reversible, required permissions, or consequences of removing a node with external references. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no fluff. The verb 'remove' appears first, followed by the resource and a key side effect. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no output schema, no nested objects), the description covers the essential functionality and the important side effect of wire cleanup. Minor room for improvement: could mention return value or confirm it's a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional semantic meaning beyond the schema (e.g., format or constraints of IDs, purpose of expectedRev). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (remove), the resource (single node from a flow tab), and provides a specific behavioral detail (cleans up wire references). Unambiguously distinguishes from sibling tools like node-red-flows-delete (whole flow) or node-red-flows-add-node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Does not mention alternatives like node-red-flows-rewire-node or node-red-flows-update-node, which might be more appropriate for certain node modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-rewire-nodeRewire NodeA
Replace wire connections for a specific node in a flow tab. Validates all target IDs exist in the flow.
| Name | Required | Description | Default |
|---|---|---|---|
| wires | Yes | New wire connections as an array of port arrays | |
| flowId | Yes | ID of the target flow tab | |
| nodeId | Yes | ID of the node to rewire | |
| expectedRev | No | Optional revision guard for conflict detection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description carries full burden. It reveals validation behavior but lacks information on destructive effects, reversibility, or consequences for other connections. Partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words. Front-loaded with action and resource. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description should provide more context (e.g., return value, whether operation is reversible, if existing wires are replaced or appended). Missing details for a mutation tool make it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema already describes parameters. The description adds no parameter-specific extra meaning beyond the schema. The validation mention is about tool behavior, not parameter details. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Replace wire connections') and the resource ('for a specific node in a flow tab'). It also mentions validation ('Validates all target IDs exist in the flow'), which adds specificity. This distinguishes it from sibling tools like add-node, remove-node, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The validation note implies a precondition but no when-to-use/when-not-to-use or comparisons to siblings like update-node. Usage context is inferred but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-rollbackRollback FlowC
Rollback a flow tab to a previous snapshot
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| snapshotIndex | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It implies a destructive overwrite but does not mention reversibility, impact on unsaved changes, permissions required, or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence is concise and well-structured, but the brevity sacrifices necessary detail. It is not overly verbose, yet it lacks content for a helpful tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% schema coverage, the description is incomplete. It does not explain return values, error handling, or how to obtain snapshot indices, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to parameters. 'id' and 'snapshotIndex' are unexplained; the agent cannot infer what identifiers or indices to use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (rollback) and resource (flow tab) with a specific target (previous snapshot). It distinguishes from siblings like create, update, delete, and clone by indicating a revert operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives (e.g., when a snapshot exists, prerequisites). The description does not mention conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-updateUpdate FlowC
Replace a flow tab with a new document
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| label | No | ||
| nodes | Yes | ||
| expectedRev | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The term 'Replace' implies a destructive overwrite, but no details are given about side effects, authentication requirements, or concurrency handling (e.g., use of 'expectedRev'). Without annotations, the description falls short of disclosing key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, but it is too brief to convey adequate information. It is concise but at the cost of completeness, scoring a middle ground.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, annotations, and parameter documentation, this description is highly incomplete. An agent would struggle to understand the full effect of the operation, error states, or expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain parameters but does not. It fails to clarify the role of 'id', 'nodes', 'label', and 'expectedRev', leaving the agent to infer their meaning from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Replace' and the resource 'flow tab', clearly indicating a full replacement operation. This distinguishes it from sibling tools like patch, create, and delete, which offer partial updates or different lifecycle actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives such as node-red-flows-patch for partial updates or node-red-flows-clone. The description lacks context on prerequisites, conflicts, or decision points.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-flows-update-nodeUpdate NodeA
Update specific properties of a single node in a flow tab. Deep-merges the provided properties onto the existing node.
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | Yes | ID of the target flow tab | |
| nodeId | Yes | ID of the node to update | |
| properties | Yes | Partial node properties to merge onto the existing node | |
| expectedRev | No | Optional revision guard for conflict detection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the deep-merge behavior, which is helpful, but does not mention conflict detection via expectedRev or any side effects (e.g., redeployment triggers).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, directly stating the action and merge behavior without any fluff. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations exist. The description explains the merge behavior but lacks information about return values, error handling, permission requirements, or what happens if the node does not exist. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds that properties are deep-merged, providing some extra meaning beyond the schema, but does not explain expectedRev or the properties object format beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates specific properties of a single node and uses deep-merges, distinguishing it from sibling tools like add-node, remove-node, and rewire-node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for modifying node properties but does not explicitly guide when to use this tool versus alternatives (e.g., rewiring or moving nodes). No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-analyzeAnalyze FlowA
Analyze topology, dependencies, and graph health for a flow or all flows
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description reveals it performs analysis (likely read-only) but does not confirm safety, required permissions, or return format. Carries full burden but is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler. Efficiently conveys purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description should mention return format. It lists what is analyzed but not how results are presented. Adequate for a simple tool but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has one optional param 'id' with 0% description coverage. Description adds meaning by clarifying scope: 'for a flow or all flows', indicating id selects specific flow. Compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Analyze' and resource 'flow or all flows', and lists three distinct aspects: topology, dependencies, and graph health. Clearly differentiates from sibling tools like node-red-graph-summary or node-red-graph-dependencies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for comprehensive analysis versus focused tools, but does not explicitly state when to use this tool over alternatives like node-red-graph-dependencies or node-red-graph-summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-dependenciesGraph DependenciesC
Resolve upstream and downstream dependencies for a node
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | Yes | ||
| nodeId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not state whether the tool is read-only, requires permissions, or if resolving dependencies has side effects. The term 'resolve' is ambiguous without further explanation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficient and to the point. However, it sacrifices clarity for brevity; still well-structured for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameter descriptions, the description is incomplete. It does not clarify what the output looks like (e.g., list of node IDs, graph structure) or how dependencies are represented, leaving the agent with significant uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the parameters 'flowId' and 'nodeId'. It does not explain what values they accept or their role, leaving the agent without critical context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves upstream and downstream dependencies for a node, which is a specific verb and resource. It distinguishes from siblings like 'graph-summary' or 'graph-analyze' by focusing on dependencies, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'node-red-graph-query' or 'node-red-graph-analyze'. The description does not provide any context for usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-exportExport FlowsC
Export the full flow graph (raw or normalized)
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | normalized |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It does not disclose whether the operation is read-only, what happens to the runtime, or any required permissions. The word 'export' implies non-destructive but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks structure. It front-loads the purpose but could be better organized with separate sections for usage and behavior. It earns its place but is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, the description should provide more context about what the export returns (e.g., file format, data structure). It does not specify scope (e.g., all flows or current project) or any prerequisites, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain what 'raw' or 'normalized' formats mean, nor does it add any context beyond the schema. Since the schema already lists the enum and default, the description fails to provide additional semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Export) and the resource (the full flow graph), and the parenthetical '(raw or normalized)' distinguishes it from other graph tools like node-red-graph-summary which likely summarizes rather than exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as node-red-graph-summary or node-red-graph-dependencies. There is no mention of appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-packGraph PackC
Return a compact context pack with semantic search and neighborhood expansion
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| flowId | No | ||
| maxMatches | No | ||
| maxNeighbors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It mentions 'semantic search and neighborhood expansion', which implies a read operation, but does not state whether it is destructive, requires authorization, or has side effects. Minimal behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is concise and front-loaded with the main purpose. However, it may be too minimal given the tool's complexity, but for conciseness alone it scores well.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and 31 sibling tools (5 similar graph tools), the description is severely incomplete. It does not explain the output format, parameter semantics, or how it differs from related tools. The tool is under-documented for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate by explaining parameters. However, the description does not mention any of the four parameters (query, flowId, maxMatches, maxNeighbors) or their roles. Parameter names provide partial clues, but the description adds no semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Return a compact context pack with semantic search and neighborhood expansion' clearly indicates the tool's action (return) and resource (context pack) and distinguishes it from sibling tools like node-red-graph-query (pure query) or node-red-graph-analyze (analysis). However, it lacks explanation of what a 'context pack' is, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its many sibling tools, such as node-red-graph-query or node-red-graph-summary. The description implies general usage (semantic search and neighborhood expansion) but does not specify conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-queryQuery GraphB
Semantic search across node names, types, labels, and properties
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| flowId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose return format, pagination, or other behavioral traits beyond 'semantic search'. For a query tool, such details are critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded. Could include more detail without being verbose, but it wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a graph query tool with 2 parameters and no output schema, the description is too minimal. It does not explain what the tool returns, how results are ordered, or any limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds meaning by explaining the search context (node names, types, labels, properties). However, it does not clarify the role of flowId or any constraints on the query parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'semantic search across node names, types, labels, and properties', specifying the verb (search), resource (graph), and scope (node metadata). It distinguishes this tool from siblings like node-red-graph-summary, node-red-graph-export, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description does not mention when to use or not use, nor does it reference siblings or other search/filter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-summaryFlow SummaryC
Return a compact semantic summary for a flow or the whole runtime
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. However, it only states the output type ('compact semantic summary') without mentioning side effects (likely read-only), auth needs, rate limits, or what 'semantic' means. This is insufficient for an AI to assess safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste, but it is somewhat under-specified. It earns high marks for conciseness but loses slightly for lacking structure like bullet points or parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, the description should provide more context about return format, usage examples, or edge cases. It is too minimal to fully guide an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'flowId' has 0% schema description coverage, and the description does not mention it at all. It fails to explain that omitting it returns a summary of the whole runtime, adding no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'compact semantic summary' for a flow or whole runtime, using a specific verb and resource. It distinguishes from sibling tools like 'node-red-graph-export' and 'node-red-graph-dependencies' by focusing on summarization, though 'semantic' could be more precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like other graph tools. The description does not mention prerequisites, exclusions, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-graph-visualizeVisualize GraphC
Generate a readable graph topology view
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states 'generate a readable graph topology view' without specifying output format, side effects, or conditions. Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one brief phrase), but it is too short to convey necessary information. It achieves conciseness at the cost of clarity and completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and an undocumented parameter, the description is severely incomplete. It does not explain what the tool returns, what 'readable' means, or how to use the flowId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single parameter (flowId). The description does not mention the parameter or its purpose, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb ('generate') and resource ('readable graph topology view'), distinguishing it from other graph tools like export or summary. However, it does not explicitly differentiate from siblings like graph-summary or graph-export, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like graph-summary or graph-export. No context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-injectInjectB
Trigger an inject node by its ID. Optionally capture debug output.
| Name | Required | Description | Default |
|---|---|---|---|
| nodeId | Yes | ID of the inject node to trigger | |
| waitForDebug | No | Seconds to wait for debug output after injecting (0 = no wait) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that the tool triggers an inject node and optionally captures debug output, but fails to mention important behaviors such as error handling (e.g., what happens if the nodeId is invalid), whether the call blocks until the inject completes, or permissions required. This leaves significant gaps for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, no wasted words. It front-loades the core action ('Trigger an inject node by its ID') and appends a key option. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and no output schema, the description covers the basic purpose and a key option. However, it omits details about return values (e.g., does it return the debug payload?), error cases, and use in workflows. Completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The description adds 'Optionally capture debug output,' which aligns with waitForDebug but does not add new meaning beyond the schema. Given high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Trigger an inject node by its ID' using a specific verb and resource. It also adds 'Optionally capture debug output' to indicate an important feature. This distinguishes it from sibling tools like node-red-flows-create or node-red-debug-listen, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or compare to any sibling tools. The usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-get-moduleGet Node ModuleC
Inspect a node module's details
| Name | Required | Description | Default |
|---|---|---|---|
| module | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. The word 'inspect' implies a read-only operation, but it does not confirm lack of side effects, required permissions, or any potential impact on the system.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 6 words, with no wasted text. However, it could be slightly expanded to include parameter context without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and parameter descriptions, the tool definition is highly incomplete. The agent has no information about return values, error conditions, or how to construct the query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the single parameter 'module' or explain what it represents (e.g., module name or ID). With 0% schema description coverage, the agent must infer from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Inspect a node module's details' clearly states the action (inspect) and resource (node module's details). It effectively distinguishes from sibling tools like list (which shows all modules) and install/toggle/remove (which modify state).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about typical use cases, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-get-setGet Node SetB
Inspect a specific node set within a module
| Name | Required | Description | Default |
|---|---|---|---|
| set | Yes | ||
| module | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. 'Inspect' implies read-only, but no additional behavioral details (e.g., permissions, side effects) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, but may be too terse for adequate guidance. Front-loaded, but lacks necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param tool with no output schema, the description is minimally adequate but missing input constraints and return information, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet the description only names 'module' and 'set' without clarifying their formats, valid values, or examples. The agent gains little meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Inspect a specific node set within a module' clearly states the action (inspect) and the resource (node set within a module), distinguishing it from siblings like node-red-nodes-list and node-red-nodes-get-module.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not mention when to use this tool versus alternatives or any prerequisites, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-installInstall NodeC
Install a node module in Node-RED
| Name | Required | Description | Default |
|---|---|---|---|
| module | Yes | ||
| version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states installation without mentioning side effects, permissions, or changes, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with one sentence and no unnecessary words, achieving brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with two parameters, no output schema, and no annotations, the description is overly simplistic. It lacks details on installation process, expected outcomes, and differentiation from sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does not mention the 'module' or 'version' parameters or their format, leaving the agent to infer from property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Install' and clearly identifies the resource 'a node module in Node-RED', distinguishing it from sibling tools like list, get, toggle, and remove.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, prerequisites, or alternatives. It only states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-listList NodesB
List installed node modules and node sets in Node-RED
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the action without mentioning whether it is read-only, requires authentication, or side effects. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is highly concise and immediately states the tool's function with no wasteful phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool, description is functional. It explains what is listed but does not hint at output format; no output schema exists to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Baseline score of 3 applies as description adds no param-level detail beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('List') and the resource ('installed node modules and node sets') within Node-RED, making it distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get-module or get-set, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-remove-moduleRemove Node ModuleC
Remove a node module from Node-RED
| Name | Required | Description | Default |
|---|---|---|---|
| module | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits beyond the obvious destructive action. It omits details like whether removal requires a restart, whether it affects runtime, or if it can be undone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, but it is too terse. While concise, it sacrifices necessary detail, making it less effective than a slightly longer but more informative version.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description is insufficient. It does not explain what happens upon success, error conditions, or side effects, leaving the agent with ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description provides no additional meaning for the 'module' parameter. It merely restates the parameter name without clarifying format, constraints, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Remove' and resource 'node module', clearly distinguishing from sibling tools like 'install', 'get', or 'toggle'. It unambiguously states the tool's action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. For instance, it does not mention when to prefer 'remove' over 'toggle-module' for disabling. Lacks context about prerequisites or consequences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-resolveResolve NodeA
Look up node IDs by name, type, or description using the node registry. Returns matching nodes with their IDs, types, and flow context.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query (matches node name, type, flow label, or ID) | |
| flowId | No | Optional flow ID filter to scope the search | |
| flowLabel | No | Optional flow label filter (exact match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it 'returns matching nodes' but does not disclose read-only nature, authentication requirements, or rate limits. For a search tool, more behavioral context (e.g., 'read-only lookup') is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Each sentence serves a purpose: first states action and input, second states output. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool and absence of output schema, the description adequately describes the output ('IDs, types, and flow context') but lacks detail on format (e.g., array of objects). Still fairly complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the base is 3. The description adds minor context ('using the node registry') but does not add meaning beyond the schema's parameter descriptions. The description's mention of 'name, type, or description' aligns with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'look up', the resource 'node IDs', and the scope 'by name, type, or description'. It distinguishes from sibling tools like node-red-nodes-list (list all) and node-red-graph-query (query graph) by focusing on resolving based on registry attributes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for looking up node IDs but does not explicitly state when to use this tool over alternatives like node-red-nodes-list or node-red-graph-query. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-toggle-moduleToggle Node ModuleC
Enable or disable a node module
| Name | Required | Description | Default |
|---|---|---|---|
| module | Yes | ||
| enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states a toggle action but does not explain what 'disable' entails (e.g., runtime impact, persistence, restart requirements) or if the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one phrase) but lacks critical details, making it under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 params, no output schema, and no annotations, the description is wholly incomplete. It omits return value, side effects, prerequisites, and behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds no meaning beyond the schema field names. It fails to clarify that 'module' expects a name or ID, or what boolean 'enabled' values imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Enable or disable a node module' clearly states the verb (enable/disable) and resource (node module), distinguishing it from sibling tools like install, remove-module, or get-module.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as node-red-nodes-install or node-red-nodes-remove-module. No usage context or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-nodes-toggle-setToggle Node SetC
Enable or disable a node set within a module
| Name | Required | Description | Default |
|---|---|---|---|
| set | Yes | ||
| module | Yes | ||
| enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but only states the basic action. It does not mention side effects (e.g., flow restarts), authorization needs, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action. However, it is too brief and sacrifices utility for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and three undocumented parameters, the description fails to provide sufficient context for correct invocation. Missing return value hints, parameter constraints, and behavioral side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds no parameter details beyond naming 'module' and 'set'. It does not clarify the semantics of the 'enabled' boolean or format of the string parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Enable or disable' and clearly identifies the resource as a 'node set within a module'. It distinguishes well from sibling tools like node-red-nodes-toggle-module (for modules) and node-red-nodes-get-set (for retrieval).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or context provided. The description implies toggling but offers no situational advice or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-runtime-get-diagnosticsGet Runtime DiagnosticsB
Read Node-RED runtime diagnostics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only indicates a read operation, but fails to disclose what 'diagnostics' entails, potential performance impact, or any side effects beyond the implied non-destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. It is front-loaded and efficient, though slightly more detail about the content of diagnostics could improve utility without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description does not explain what the runtime diagnostics contain, the format of the output, or any limitations. This is insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so no additional parameter information is needed. The description adds no param details, but baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and the resource ('Node-RED runtime diagnostics'). It is specific and distinct from sibling tools which cover auth, flows, nodes, and other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any context about prerequisites or typical use cases. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-runtime-get-flow-stateGet Flow StateB
Read runtime flow state
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Read', implying a safe operation but offers no details about what happens if state is unavailable, performance characteristics, or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at four words, with no wasted content. However, it may be too brief to provide clarity on what 'flow state' entails.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, no annotations, and is a simple read operation, the description should still mention what the return value represents or that it is a single resource. It inadequately prepares the agent for the tool's output and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema description coverage is 100%. Baseline for zero parameters is 4, and the description adds no extra meaning beyond the obvious, which is acceptable given no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb 'Read' and identifies the resource 'runtime flow state', making the purpose clear. However, it does not distinguish itself from sibling tools like 'node-red-runtime-set-flow-state', missing an opportunity for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., set-flow-state, get-settings, get-diagnostics). No context about prerequisites or scenarios for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-runtime-get-settingsGet Runtime SettingsB
Read Node-RED runtime settings
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states 'Read' without disclosing whether authentication is required, if the operation is safe, or what the output contains beyond 'settings'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler, front-loaded with the purpose; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description lacks details about the nature of runtime settings, return format, or any side effects, making it insufficient for an agent to fully understand the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%; description adds no parameter information, but baseline of 3 is appropriate given trivial schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Read' and resource 'Node-RED runtime settings', distinguishing it from sibling tools like get-diagnostics and get-flow-state which focus on other runtime aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get-diagnostics or get-flow-state; context of use is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node-red-runtime-set-flow-stateSet Flow StateC
Update runtime flow state
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Flow state object or JSON string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description 'Update runtime flow state' fails to disclose critical behavioral details such as whether the update is a full replacement or incremental, any side effects, or required permissions. It adds no value beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (4 words), which wastes no words but lacks key details needed for an agent to use it correctly. It is minimally adequate but not well-structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's single parameter and no output schema, the description should explain what 'flow state' means, whether the update is idempotent, and how it relates to other flow operations. It fails to provide sufficient context for an AI agent to understand the tool's behavior and integration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'state' parameter (object or JSON string), and the description does not add any additional semantics or constraints beyond what is in the schema. Since schema coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Update' and explicitly names the resource 'runtime flow state', clearly distinguishing it from the read-only sibling tool node-red-runtime-get-flow-state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool (e.g., to modify flow state) or when to avoid it compared to other sibling tools like node-red-flows-update. No prerequisites or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
37 tool updates
v2.0.4- First observed
node-red-auth-get-scheme - First observed
node-red-auth-login - First observed
node-red-auth-revoke - First observed
node-red-debug-listen - First observed
node-red-flows-add-node - First observed
node-red-flows-clone - First observed
node-red-flows-create - First observed
node-red-flows-delete - First observed
node-red-flows-get - First observed
node-red-flows-list - First observed
node-red-flows-move-node - First observed
node-red-flows-patch - First observed
node-red-flows-remove-node - First observed
node-red-flows-rewire-node - First observed
node-red-flows-rollback - First observed
node-red-flows-update - First observed
node-red-flows-update-node - First observed
node-red-graph-analyze - First observed
node-red-graph-dependencies - First observed
node-red-graph-export - First observed
node-red-graph-pack - First observed
node-red-graph-query - First observed
node-red-graph-summary - First observed
node-red-graph-visualize - First observed
node-red-inject - First observed
node-red-nodes-get-module - First observed
node-red-nodes-get-set - First observed
node-red-nodes-install - First observed
node-red-nodes-list - First observed
node-red-nodes-remove-module - First observed
node-red-nodes-resolve - First observed
node-red-nodes-toggle-module - First observed
node-red-nodes-toggle-set - First observed
node-red-runtime-get-diagnostics - First observed
node-red-runtime-get-flow-state - First observed
node-red-runtime-get-settings - First observed
node-red-runtime-set-flow-state
TDQS
Each tool belongs to a clearly prefixed category (auth, runtime, debug, flows, graph, nodes) and performs a distinct operation. No two tools have overlapping purposes.
All tools follow the consistent pattern 'node-red-{category}-{action}' using snake_case. There is no deviation or mixing of styles, making the naming predictable and easy to understand.
With 37 tools, the count is on the higher side but justified by the complexity of Node-RED. Each tool covers a specific aspect of management, and the organization into categories prevents overwhelming the user.
The toolset provides comprehensive coverage for Node-RED administration, including authentication, runtime inspection, flow CRUD and node manipulation, graph analysis, and node module management. No significant gaps are apparent.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
- FlowstepOAuthai.flowstep
Generate, inspect, and manage Flowstep UI designs directly from your AI assistant.
Inspect and control your Northflank projects, services, jobs, and builds from your AI assistant.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceA Model Context Protocol server for Node-RED integration, enabling AI agents to manage flows, install modules, and monitor Node-RED instances via natural language.5-
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to programmatically control n8n via natural language for automated workflow creation, modification, and execution management.1-
- AlicenseAqualityDmaintenanceLets AI assistants interact with Node-RED to read flows, search nodes, edit function code, deploy changes safely, and manage modules.131MIT
- AlicenseNot gradedqualityBmaintenanceExposes Node-RED flows as MCP tools for AI assistants, with OAuth protection and optional admin tools for flow management.1161ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kskwon02/node-red-ai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server