nodered-mcp 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,3 +22,10 @@ The server uses stdio, so it can be connected to Claude Desktop, Cursor, VS Code
22
22
  ## Limits and privacy
23
23
 
24
24
  This project is intentionally narrow. It should be treated as a practical helper, not a complete certification or security audit. Check the implementation and the returned data before using it with sensitive material. Everything stays on your network.
25
+
26
+ ## Licence — no paywall
27
+
28
+ Every tool in this package is free: no licence key, no premium tier, no hosted
29
+ licence gateway. The paywall machinery this repo once carried (per-tool licence
30
+ checks and paid hosted endpoints) was removed repo-wide on 2026-10-17. Nothing
31
+ that this package installs or calls asks you to pay.
package/dist/server.js CHANGED
@@ -22,7 +22,7 @@ export function createServer() {
22
22
  return text(rows.map((f, i) => `${i + 1}. [${f.id}] ${f.label ?? "(unnamed)"}${f.disabled ? " (disabled)" : ""}`).join("\n"));
23
23
  }
24
24
  catch (e) {
25
- return textError(errorMessage(e));
25
+ return textError(String(e));
26
26
  }
27
27
  });
28
28
  server.registerTool("get_flow", {
@@ -37,7 +37,7 @@ export function createServer() {
37
37
  return text(formatFlow(id, await getFlow(id)));
38
38
  }
39
39
  catch (e) {
40
- return textError(errorMessage(e));
40
+ return textError(String(e));
41
41
  }
42
42
  });
43
43
  server.registerTool("flow_graph_audit", {
@@ -50,7 +50,7 @@ export function createServer() {
50
50
  return text(await flowGraphAudit(args));
51
51
  }
52
52
  catch (e) {
53
- return textError(errorMessage(e));
53
+ return textError(String(e));
54
54
  }
55
55
  });
56
56
  server.registerTool("wiring_report", {
@@ -63,7 +63,7 @@ export function createServer() {
63
63
  return text(await wiringReport(args));
64
64
  }
65
65
  catch (e) {
66
- return textError(errorMessage(e));
66
+ return textError(String(e));
67
67
  }
68
68
  });
69
69
  server.registerTool("flow_lint", {
@@ -76,9 +76,50 @@ export function createServer() {
76
76
  return text(await flowLint(args));
77
77
  }
78
78
  catch (e) {
79
- return textError(errorMessage(e));
79
+ return textError(String(e));
80
80
  }
81
81
  });
82
+ const serverName = "nodered-mcp";
83
+ server.registerTool("health_check", {
84
+ title: "Health check",
85
+ description: "Check if the server is running and responsive.",
86
+ inputSchema: z.object({}),
87
+ annotations: READ_ONLY,
88
+ }, async () => {
89
+ return text("OK - server is running");
90
+ });
91
+ server.registerTool("version_info", {
92
+ title: "Version info",
93
+ description: "Get server version and metadata.",
94
+ inputSchema: z.object({}),
95
+ annotations: READ_ONLY,
96
+ }, async () => {
97
+ return text(JSON.stringify({ name: serverName, version: "1.0.0" }, null, 2));
98
+ });
99
+ server.registerTool("list_tools", {
100
+ title: "List tools",
101
+ description: "List all available tools on this server.",
102
+ inputSchema: z.object({}),
103
+ annotations: READ_ONLY,
104
+ }, async () => {
105
+ return text("See the tools/list response for the full tool list.");
106
+ });
107
+ server.registerTool("echo", {
108
+ title: "Echo",
109
+ description: "Echo back the provided text.",
110
+ inputSchema: z.object({ text: z.string().describe("Text to echo.") }),
111
+ annotations: READ_ONLY,
112
+ }, async (args) => {
113
+ return text(String(args?.text ?? ""));
114
+ });
115
+ server.registerTool("timestamp", {
116
+ title: "Timestamp",
117
+ description: "Get the current UTC timestamp.",
118
+ inputSchema: z.object({}),
119
+ annotations: READ_ONLY,
120
+ }, async () => {
121
+ return text(new Date().toISOString());
122
+ });
82
123
  return server;
83
124
  }
84
125
  function errorMessage(e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodered-mcp",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "MCP server for Node-RED: flows, nodes. Works with any instance.",
5
5
  "type": "module",
6
6
  "mcpName": "io.github.mrfentmen/nodered-mcp",