@iobroker/mcp-server 1.0.2 → 1.1.0

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
@@ -144,7 +144,7 @@ state (tracked via the `Mcp-Session-Id` header). Point your MCP client at:
144
144
  | `list_rooms` | List rooms (`enum.rooms.*`) with localized names and member details; optional `language` and `withIcons` |
145
145
  | `list_functions` | List functions (`enum.functions.*`) with localized names and member details; optional `language` and `withIcons` |
146
146
  | `history_query` | Query historical values (requires a history adapter); aggregations: `raw`, `min`, `max`, `avg`, `sum`, `count`, `minmax`, `percentile`, `quantile`, `integral` |
147
- | `read_file` | Read a file from an adapter file storage (optional base64) |
147
+ | `read_file` | Read a file from an adapter file storage (optional base64); large files are read in chunks via `offset`/`length` (default 512 KiB per call) — the result carries `size`, `truncated` and `nextOffset` |
148
148
  | `list_files` | List a directory in an adapter file storage |
149
149
  | `file_exists` | Check whether a file exists in an adapter file storage |
150
150
  | `get_logs` | Retrieve recent ioBroker log lines; optional filters by `level` (error/warn/info/debug), source `adapter` and start time (`from_ts`) |
@@ -165,6 +165,11 @@ state (tracked via the `Mcp-Session-Id` header). Point your MCP client at:
165
165
  All object/state access runs with the permissions of the configured **Default User**. The write tools are only
166
166
  registered when their respective permission option is enabled.
167
167
 
168
+ Every tool declares a JSON input schema and all four MCP behaviour hints (`readOnlyHint`, `destructiveHint`,
169
+ `idempotentHint`, `openWorldHint`), so a host can tell what a tool does before calling it and can ask the user
170
+ for confirmation before a writing tool runs. All reading tools are `readOnlyHint: true`; `ping_host` is the only
171
+ tool with `openWorldHint: true`, because it talks to hosts outside of ioBroker.
172
+
168
173
  ### Resources & live updates (SSE)
169
174
 
170
175
  States and objects are also exposed as MCP **resources** using the canonical ioBroker URI scheme, so clients
@@ -192,11 +197,38 @@ tools rather than as subscribable resources.)
192
197
  - `GET /status` - Server status, uptime and active session count
193
198
  - `GET /api/info` - Adapter information
194
199
 
200
+ ## Development
201
+
202
+ ```bash
203
+ npm run build # compile src/ to build/
204
+ npm run lint
205
+ npm test # builds, then runs the unit tests in test/
206
+ ```
207
+
208
+ The unit tests drive the server through a real MCP client over an in-memory transport
209
+ (`createInProcessMcp`) on top of a mock ioBroker adapter, so every declared tool is called the way an MCP
210
+ client calls it and its result is verified:
211
+
212
+ - `test/toolMetadata.test.js` guards the advertised contract - the exact set of tools, a title, a description,
213
+ an input schema and the four behaviour hints on every one of them, and the permission gating.
214
+ - `test/tools.test.js` exercises the behaviour of each tool (including the error paths and the input
215
+ validation) against `test/mockAdapter.js`.
216
+
195
217
  ## Changelog
196
218
  <!--
197
219
  Placeholder for the next version (at the beginning of the line):
198
220
  ### **WORK IN PROGRESS**
199
221
  -->
222
+ ### 1.1.0 (2026-09-11)
223
+ * (@GermanBluefox) Every tool now declares all four MCP behaviour hints (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`) and a human-readable title, so hosts can warn before a writing tool is invoked
224
+ * (@GermanBluefox) `system_info`, `list_instances` and `list_hosts` declare an explicit (empty) input schema
225
+ * (@GermanBluefox) The embedded in-process client now exposes the `title` and `annotations` of every tool
226
+ * (@GermanBluefox) Fixed the JSDoc of the embedded `allowSetState` option: state writing is opt-out (default true), not opt-in
227
+ * (@GermanBluefox) Added unit tests that call every declared tool over a real MCP client/server pair
228
+
229
+ ### 1.0.3 (2026-09-03)
230
+ * (@GermanBluefox) `read_file` reads large files in chunks: new optional `offset`/`length` parameters, at most 512 KiB per call by default; the result now contains `size`, `offset`, `length`, `truncated` and `nextOffset` (MCP clients reject tool results above 1 MB, ioBroker/ioBroker.mcp#63)
231
+
200
232
  ### 1.0.2 (2026-09-03)
201
233
  * (@GermanBluefox) Updated packages
202
234
 
@@ -1,3 +1,16 @@
1
+ /** MCP tool behaviour hints, in a plain (SDK-free) shape. */
2
+ export interface InProcessToolAnnotations {
3
+ /** Human-readable display name. */
4
+ title?: string;
5
+ /** The tool only reads; it never changes its environment. */
6
+ readOnlyHint?: boolean;
7
+ /** The tool may overwrite or remove existing data (only meaningful when `readOnlyHint` is false). */
8
+ destructiveHint?: boolean;
9
+ /** Calling the tool again with the same arguments has no additional effect. */
10
+ idempotentHint?: boolean;
11
+ /** The tool talks to entities outside of ioBroker (e.g. the network). */
12
+ openWorldHint?: boolean;
13
+ }
1
14
  /** A tool exposed by the in-process MCP server, in a plain (SDK-free) shape. */
2
15
  export interface InProcessToolInfo {
3
16
  /** Tool name, e.g. `list_devices`. */
@@ -6,6 +19,13 @@ export interface InProcessToolInfo {
6
19
  description?: string;
7
20
  /** JSON Schema (object schema) describing the tool's input arguments. */
8
21
  inputSchema: Record<string, unknown>;
22
+ /** Human-readable display name, e.g. `List devices by room`. */
23
+ title?: string;
24
+ /**
25
+ * Behaviour hints the server declares for this tool. Embedders can use them to decide whether a
26
+ * tool needs a confirmation before it is called (`readOnlyHint: false` / `destructiveHint: true`).
27
+ */
28
+ annotations?: InProcessToolAnnotations;
9
29
  }
10
30
  /** Result of a tool call: the concatenated text content plus the error flag. */
11
31
  export interface InProcessToolResult {
@@ -22,7 +42,12 @@ export interface InProcessMcpOptions {
22
42
  defaultUser?: `system.user.${string}`;
23
43
  /** Language for localized output (rooms/devices/functions). */
24
44
  language?: ioBroker.Languages;
25
- /** Allow the state-writing tools `set_state`/`set_states` (default: false). */
45
+ /**
46
+ * Allow the state-writing tools `set_state`/`set_states` (default: **true**).
47
+ *
48
+ * Writing states is what makes the server useful for controlling a smart home, so it is opt-out:
49
+ * pass `false` explicitly to expose the reading tools only.
50
+ */
26
51
  allowSetState?: boolean;
27
52
  /** Allow the object/file-changing tools (`create_state`, `set_object`, ...) (default: false). */
28
53
  allowObjectChange?: boolean;
@@ -45,6 +45,8 @@ async function createInProcessMcp(options) {
45
45
  name: tool.name,
46
46
  description: tool.description,
47
47
  inputSchema: tool.inputSchema || { type: 'object', properties: {} },
48
+ title: tool.title,
49
+ annotations: tool.annotations,
48
50
  }));
49
51
  },
50
52
  async callTool(name, args) {
@@ -1 +1 @@
1
- {"version":3,"file":"inProcessClient.js","sourceRoot":"","sources":["../src/inProcessClient.ts"],"names":[],"mappings":";;;;;AAuEA,gDAsDC;AA7HD;;;;;;;;GAQG;AACH,wEAAmE;AACnE,uEAA0E;AAC1E,oDAAgC;AAsDhC;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAA4B;IACjE,MAAM,GAAG,GAAG,eAAS,CAAC,cAAc,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC/C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAC3C,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,+BAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,iBAAM,CACrB;QACI,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,2BAA2B;QACvD,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;KAC5C,EACD,EAAE,YAAY,EAAE,EAAE,EAAE,CACvB,CAAC;IACF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtC,OAAO;QACH,KAAK,CAAC,SAAS;YACX,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAG,IAAI,CAAC,WAAuC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aACnG,CAAC,CAAC,CAAC;QACR,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAA8B;YACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,MAAM,GAAI,GAAG,CAAC,OAA0C,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM;iBACd,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;iBACxE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAc,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,KAAK;YACP,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"inProcessClient.js","sourceRoot":"","sources":["../src/inProcessClient.ts"],"names":[],"mappings":";;;;;AAiGA,gDAwDC;AAzJD;;;;;;;;GAQG;AACH,wEAAmE;AACnE,uEAA0E;AAC1E,oDAAgC;AAgFhC;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAA4B;IACjE,MAAM,GAAG,GAAG,eAAS,CAAC,cAAc,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC/C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAC3C,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,+BAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,iBAAM,CACrB;QACI,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,2BAA2B;QACvD,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;KAC5C,EACD,EAAE,YAAY,EAAE,EAAE,EAAE,CACvB,CAAC;IACF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtC,OAAO;QACH,KAAK,CAAC,SAAS;YACX,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAG,IAAI,CAAC,WAAuC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;gBAChG,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC,CAAC,CAAC;QACR,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAA8B;YACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,MAAM,GAAI,GAAG,CAAC,OAA0C,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM;iBACd,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;iBACxE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAc,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,KAAK;YACP,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
package/build/index.d.ts CHANGED
@@ -65,8 +65,8 @@ export default class McpServer {
65
65
  * @param options.adapter The host adapter into which the MCP server is embedded. Used for receiving state/object changes and logs, and for performing actions with the host adapter's permissions.
66
66
  * @param options.defaultUser Default user
67
67
  * @param options.language Language
68
- * @param options.allowSetState Is the state creation available
69
- * @param options.allowObjectChange If the object change available
68
+ * @param options.allowSetState Allow the state-writing tools `set_state`/`set_states` (opt-out, default true)
69
+ * @param options.allowObjectChange Allow the object/file-changing tools (opt-in, default false)
70
70
  */
71
71
  static createEmbedded(options: {
72
72
  adapter: ioBroker.Adapter;
@@ -239,7 +239,14 @@ export default class McpServer {
239
239
  private setState;
240
240
  /** Coerce an arbitrary value to the given ioBroker state type. */
241
241
  private static coerceValue;
242
- /** Read a file from an adapter file storage. */
242
+ /**
243
+ * Read a (window of a) file from an adapter file storage.
244
+ *
245
+ * At most `length` bytes starting at byte `offset` are returned, so files of any size can be fetched in chunks
246
+ * without exceeding the tool-result size limit of MCP clients. For UTF-8 text the window edges are moved to
247
+ * character boundaries, so a multibyte character is never split; `nextOffset` always points at the first byte
248
+ * that was not returned and can be passed as `offset` of the next call.
249
+ */
243
250
  private readFile;
244
251
  /** Write a file to an adapter file storage. */
245
252
  private writeFile;
@@ -269,4 +276,4 @@ export default class McpServer {
269
276
  }
270
277
  export { McpServer, createInProcessMcp };
271
278
  export type { McpConfig } from './types';
272
- export type { InProcessMcp, InProcessMcpOptions, InProcessToolInfo, InProcessToolResult } from './inProcessClient';
279
+ export type { InProcessMcp, InProcessMcpOptions, InProcessToolAnnotations, InProcessToolInfo, InProcessToolResult, } from './inProcessClient';
package/build/index.js CHANGED
@@ -53,6 +53,12 @@ function getText(text, language) {
53
53
  const LOG_URI_PREFIX = 'ioblog://';
54
54
  /** How many recent log lines to keep for `ioblog://` resource reads. */
55
55
  const LOG_BUFFER_SIZE = 200;
56
+ /**
57
+ * Default maximum number of file bytes a single `read_file` call returns.
58
+ * MCP clients (e.g. Claude.ai / Claude Desktop) reject tool results above 1 MiB; the content is embedded in a
59
+ * JSON string (escaping) or base64 (+33%), so 512 KiB of raw data keeps the wrapped result safely below that cap.
60
+ */
61
+ const DEFAULT_MAX_READ_BYTES = 512 * 1024;
56
62
  class McpServer {
57
63
  adapter;
58
64
  /** The Express app we attach routes to. Undefined in embedded in-process mode (no HTTP). */
@@ -158,8 +164,8 @@ class McpServer {
158
164
  * @param options.adapter The host adapter into which the MCP server is embedded. Used for receiving state/object changes and logs, and for performing actions with the host adapter's permissions.
159
165
  * @param options.defaultUser Default user
160
166
  * @param options.language Language
161
- * @param options.allowSetState Is the state creation available
162
- * @param options.allowObjectChange If the object change available
167
+ * @param options.allowSetState Allow the state-writing tools `set_state`/`set_states` (opt-out, default true)
168
+ * @param options.allowObjectChange Allow the object/file-changing tools (opt-in, default false)
163
169
  */
164
170
  static createEmbedded(options) {
165
171
  return new McpServer(null, {
@@ -613,6 +619,8 @@ class McpServer {
613
619
  return { content: [{ type: 'text', text: JSON.stringify({ ok: false, error: message }) }], isError: true };
614
620
  };
615
621
  server.registerTool('get_states', {
622
+ title: 'Get state values',
623
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
616
624
  description: 'Retrieve the current value of one or multiple states. IDs may contain wildcards, ' +
617
625
  'e.g. "hue.0.*.brightness" expands to all matching states.',
618
626
  inputSchema: { ids: zod_1.z.array(zod_1.z.string()).describe('Array of state IDs (wildcards "*" allowed)') },
@@ -626,6 +634,13 @@ class McpServer {
626
634
  });
627
635
  if (this.config.allowSetState) {
628
636
  server.registerTool('set_state', {
637
+ title: 'Set a state value',
638
+ annotations: {
639
+ readOnlyHint: false,
640
+ destructiveHint: true,
641
+ idempotentHint: true,
642
+ openWorldHint: false,
643
+ },
629
644
  description: 'Set the value of a state. The value is coerced to the state type (boolean/number/string).',
630
645
  inputSchema: {
631
646
  id: zod_1.z.string().describe('State ID'),
@@ -644,6 +659,13 @@ class McpServer {
644
659
  }
645
660
  });
646
661
  server.registerTool('set_states', {
662
+ title: 'Set multiple state values',
663
+ annotations: {
664
+ readOnlyHint: false,
665
+ destructiveHint: true,
666
+ idempotentHint: true,
667
+ openWorldHint: false,
668
+ },
647
669
  description: 'Set multiple states in one call (e.g. for scenes or group actions like "all lights off"). ' +
648
670
  'Each value is coerced to its state type. Failures of single states do not abort the rest.',
649
671
  inputSchema: {
@@ -665,6 +687,8 @@ class McpServer {
665
687
  });
666
688
  }
667
689
  server.registerTool('get_logs', {
690
+ title: 'Read the ioBroker log',
691
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
668
692
  description: 'Retrieve recent ioBroker log lines from the host log file. Each entry has {ts, level, ' +
669
693
  'source, message}. Optionally filter by `level` (error/warn/info/debug), by `adapter` ' +
670
694
  '(source, e.g. "hm-rpc.0" or "hm-rpc"), or from `from_ts` (ms). When a level filter is set, ' +
@@ -684,6 +708,8 @@ class McpServer {
684
708
  }
685
709
  });
686
710
  server.registerTool('ping_host', {
711
+ title: 'Ping a network host',
712
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
687
713
  description: 'Check whether a network device is reachable — useful to diagnose adapter connection ' +
688
714
  'errors (e.g. a "connect ETIMEDOUT 192.168.10.5:2001"). Runs an ICMP ping to `host` and, ' +
689
715
  'if `port` is given, also a TCP connect to that port (which tests the actual service, not ' +
@@ -706,7 +732,12 @@ class McpServer {
706
732
  return fail(e);
707
733
  }
708
734
  });
709
- server.registerTool('system_info', { description: 'Get system and js-controller information' }, async () => {
735
+ server.registerTool('system_info', {
736
+ title: 'System information',
737
+ inputSchema: {},
738
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
739
+ description: 'Get system and js-controller information',
740
+ }, async () => {
710
741
  try {
711
742
  return ok({ ok: true, data: await this.getSystemInfo() });
712
743
  }
@@ -715,6 +746,8 @@ class McpServer {
715
746
  }
716
747
  });
717
748
  server.registerTool('search_objects', {
749
+ title: 'Search objects and states',
750
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
718
751
  description: 'Search objects and states by keyword (matched against ID and name) with optional ' +
719
752
  'filters for object type, role, room and source adapter instance',
720
753
  inputSchema: {
@@ -737,6 +770,8 @@ class McpServer {
737
770
  }
738
771
  });
739
772
  server.registerTool('list_devices', {
773
+ title: 'List devices by room',
774
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
740
775
  description: 'List detected devices grouped by room. Uses the ioBroker type-detector to turn ' +
741
776
  'raw states/channels/devices into functional devices with named controls.',
742
777
  inputSchema: {
@@ -755,6 +790,8 @@ class McpServer {
755
790
  }
756
791
  });
757
792
  server.registerTool('history_query', {
793
+ title: 'Query the history of a state',
794
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
758
795
  description: 'Query historical values of a state (requires a history adapter)',
759
796
  inputSchema: {
760
797
  id: zod_1.z.string(),
@@ -797,7 +834,12 @@ class McpServer {
797
834
  return fail(e);
798
835
  }
799
836
  });
800
- server.registerTool('list_instances', { description: 'List all adapter instances with their status' }, async () => {
837
+ server.registerTool('list_instances', {
838
+ title: 'List adapter instances',
839
+ inputSchema: {},
840
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
841
+ description: 'List all adapter instances with their status',
842
+ }, async () => {
801
843
  try {
802
844
  return ok({ ok: true, data: { instances: await this.listInstances() } });
803
845
  }
@@ -805,7 +847,12 @@ class McpServer {
805
847
  return fail(e);
806
848
  }
807
849
  });
808
- server.registerTool('list_hosts', { description: 'List all ioBroker hosts with their status' }, async () => {
850
+ server.registerTool('list_hosts', {
851
+ title: 'List ioBroker hosts',
852
+ inputSchema: {},
853
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
854
+ description: 'List all ioBroker hosts with their status',
855
+ }, async () => {
809
856
  try {
810
857
  return ok({ ok: true, data: { hosts: await this.listHosts() } });
811
858
  }
@@ -814,6 +861,8 @@ class McpServer {
814
861
  }
815
862
  });
816
863
  server.registerTool('list_adapters', {
864
+ title: 'List installed adapters',
865
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
817
866
  description: 'List all installed adapters with metadata (version, title, description, keywords). ' +
818
867
  'Unlike list_instances this lists what is installed, not what is running.',
819
868
  inputSchema: {
@@ -831,6 +880,8 @@ class McpServer {
831
880
  }
832
881
  });
833
882
  server.registerTool('search_adapter_repository', {
883
+ title: 'Search the adapter repository',
884
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
834
885
  description: 'Search the ioBroker adapter REPOSITORY (all installable adapters, not just the ' +
835
886
  'installed ones) by keyword, matched against the adapter name, title, description and ' +
836
887
  'keywords. Use this to recommend which adapter to install for a device or service. ' +
@@ -856,11 +907,18 @@ class McpServer {
856
907
  return fail(e);
857
908
  }
858
909
  });
859
- const enumInput = {
860
- language: zod_1.z.enum(LANGUAGES).optional().describe('Language for names (defaults to the adapter language)'),
861
- withIcons: zod_1.z.boolean().optional().describe('Include the icons of the enum and its members'),
862
- };
863
- server.registerTool('list_rooms', { description: 'List all rooms (enum.rooms.*) with their members and metadata', inputSchema: enumInput }, async ({ language, withIcons }) => {
910
+ server.registerTool('list_rooms', {
911
+ title: 'List rooms',
912
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
913
+ description: 'List all rooms (enum.rooms.*) with their members and metadata',
914
+ inputSchema: {
915
+ language: zod_1.z
916
+ .enum(LANGUAGES)
917
+ .optional()
918
+ .describe('Language for names (defaults to the adapter language)'),
919
+ withIcons: zod_1.z.boolean().optional().describe('Include the icons of the enum and its members'),
920
+ },
921
+ }, async ({ language, withIcons }) => {
864
922
  try {
865
923
  return ok({ ok: true, data: { rooms: await this.readEnums('rooms', language, withIcons) } });
866
924
  }
@@ -869,8 +927,16 @@ class McpServer {
869
927
  }
870
928
  });
871
929
  server.registerTool('list_functions', {
930
+ title: 'List functions',
931
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
872
932
  description: 'List all functions (enum.functions.*) with their members and metadata',
873
- inputSchema: enumInput,
933
+ inputSchema: {
934
+ language: zod_1.z
935
+ .enum(LANGUAGES)
936
+ .optional()
937
+ .describe('Language for names (defaults to the adapter language)'),
938
+ withIcons: zod_1.z.boolean().optional().describe('Include the icons of the enum and its members'),
939
+ },
874
940
  }, async ({ language, withIcons }) => {
875
941
  try {
876
942
  return ok({
@@ -883,6 +949,8 @@ class McpServer {
883
949
  }
884
950
  });
885
951
  server.registerTool('get_object', {
952
+ title: 'Read an object',
953
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
886
954
  description: 'Read a single ioBroker object by its ID',
887
955
  inputSchema: { id: zod_1.z.string().describe('Object ID, e.g. system.adapter.admin.0 or hm-rpc.0.ABC') },
888
956
  }, async ({ id }) => {
@@ -895,20 +963,40 @@ class McpServer {
895
963
  }
896
964
  });
897
965
  server.registerTool('read_file', {
898
- description: 'Read a file from an adapter file storage, e.g. "vis-2.0/main/vis-views.json"',
966
+ title: 'Read a file',
967
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
968
+ description: 'Read a file from an adapter file storage, e.g. "vis-2.0/main/vis-views.json". ' +
969
+ `At most \`length\` bytes (default ${DEFAULT_MAX_READ_BYTES}) are returned per call; ` +
970
+ 'large files are read in chunks: when the result has `truncated: true`, call again with ' +
971
+ '`offset` set to the returned `nextOffset` until `truncated` is false. ' +
972
+ '`size` is the total file size in bytes.',
899
973
  inputSchema: {
900
974
  path: zod_1.z.string().describe('Path as "<adapter>/<dir>/<file>"'),
901
975
  base64: zod_1.z.boolean().optional().describe('Return binary content base64-encoded'),
976
+ offset: zod_1.z
977
+ .number()
978
+ .int()
979
+ .min(0)
980
+ .optional()
981
+ .describe('Byte offset to start reading from (default 0)'),
982
+ length: zod_1.z
983
+ .number()
984
+ .int()
985
+ .min(1)
986
+ .optional()
987
+ .describe(`Maximum number of bytes to return (default ${DEFAULT_MAX_READ_BYTES})`),
902
988
  },
903
- }, async ({ path, base64 }) => {
989
+ }, async ({ path, base64, offset, length }) => {
904
990
  try {
905
- return ok({ ok: true, data: await this.readFile(path, base64) });
991
+ return ok({ ok: true, data: await this.readFile(path, base64, offset, length) });
906
992
  }
907
993
  catch (e) {
908
994
  return fail(e);
909
995
  }
910
996
  });
911
997
  server.registerTool('list_files', {
998
+ title: 'List a directory',
999
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
912
1000
  description: 'List a directory in an adapter file storage, e.g. "vis-2.0/main" or "0_userdata.0"',
913
1001
  inputSchema: { path: zod_1.z.string().describe('Path as "<adapter>[/<dir>]"') },
914
1002
  }, async ({ path }) => {
@@ -920,6 +1008,8 @@ class McpServer {
920
1008
  }
921
1009
  });
922
1010
  server.registerTool('file_exists', {
1011
+ title: 'Check whether a file exists',
1012
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
923
1013
  description: 'Check whether a file exists in an adapter file storage',
924
1014
  inputSchema: { path: zod_1.z.string().describe('Path as "<adapter>/<dir>/<file>"') },
925
1015
  }, async ({ path }) => {
@@ -936,6 +1026,13 @@ class McpServer {
936
1026
  });
937
1027
  // Always-on log writing (does not change states or objects).
938
1028
  server.registerTool('write_log', {
1029
+ title: 'Write a log message',
1030
+ annotations: {
1031
+ readOnlyHint: false,
1032
+ destructiveHint: false,
1033
+ idempotentHint: false,
1034
+ openWorldHint: false,
1035
+ },
939
1036
  description: 'Write a message to the ioBroker log',
940
1037
  inputSchema: {
941
1038
  message: zod_1.z.string(),
@@ -953,6 +1050,13 @@ class McpServer {
953
1050
  // Object/file changes are gated behind the "allowObjectChange" option (off by default).
954
1051
  if (this.config.allowObjectChange) {
955
1052
  server.registerTool('set_object', {
1053
+ title: 'Create or update an object',
1054
+ annotations: {
1055
+ readOnlyHint: false,
1056
+ destructiveHint: true,
1057
+ idempotentHint: true,
1058
+ openWorldHint: false,
1059
+ },
956
1060
  description: 'Create or update an ioBroker object. An existing object is updated by merging the ' +
957
1061
  'provided common/native; a missing one is created from the provided object.',
958
1062
  inputSchema: {
@@ -971,6 +1075,13 @@ class McpServer {
971
1075
  }
972
1076
  });
973
1077
  server.registerTool('delete_object', {
1078
+ title: 'Delete an object',
1079
+ annotations: {
1080
+ readOnlyHint: false,
1081
+ destructiveHint: true,
1082
+ idempotentHint: true,
1083
+ openWorldHint: false,
1084
+ },
974
1085
  description: 'Delete an ioBroker object (and optionally all its children). ' +
975
1086
  'Be careful: deleting objects that were not created by the user can break adapters.',
976
1087
  inputSchema: {
@@ -987,6 +1098,13 @@ class McpServer {
987
1098
  }
988
1099
  });
989
1100
  server.registerTool('create_state', {
1101
+ title: 'Create a state',
1102
+ annotations: {
1103
+ readOnlyHint: false,
1104
+ destructiveHint: false,
1105
+ idempotentHint: false,
1106
+ openWorldHint: false,
1107
+ },
990
1108
  description: 'Create a new state object (e.g. under "0_userdata.0."). Fails if the object already ' +
991
1109
  'exists - use set_object to modify existing objects.',
992
1110
  inputSchema: {
@@ -1015,6 +1133,13 @@ class McpServer {
1015
1133
  }
1016
1134
  });
1017
1135
  server.registerTool('create_scene', {
1136
+ title: 'Create or update a scene',
1137
+ annotations: {
1138
+ readOnlyHint: false,
1139
+ destructiveHint: true,
1140
+ idempotentHint: true,
1141
+ openWorldHint: false,
1142
+ },
1018
1143
  description: 'Create or update a scene for the ioBroker "scenes" adapter: a named collection of ' +
1019
1144
  'state/value pairs applied together (e.g. "movie night" dims lights and closes blinds). ' +
1020
1145
  'Activate the scene by setting its state to true. Requires an installed scene instance.',
@@ -1038,6 +1163,13 @@ class McpServer {
1038
1163
  }
1039
1164
  });
1040
1165
  server.registerTool('write_file', {
1166
+ title: 'Write a file',
1167
+ annotations: {
1168
+ readOnlyHint: false,
1169
+ destructiveHint: true,
1170
+ idempotentHint: true,
1171
+ openWorldHint: false,
1172
+ },
1041
1173
  description: 'Write a file to an adapter file storage, e.g. "vis-2.0/main/vis-views.json"',
1042
1174
  inputSchema: {
1043
1175
  path: zod_1.z.string().describe('Path as "<adapter>/<dir>/<file>"'),
@@ -1054,6 +1186,13 @@ class McpServer {
1054
1186
  }
1055
1187
  });
1056
1188
  server.registerTool('delete_file', {
1189
+ title: 'Delete a file',
1190
+ annotations: {
1191
+ readOnlyHint: false,
1192
+ destructiveHint: true,
1193
+ idempotentHint: true,
1194
+ openWorldHint: false,
1195
+ },
1057
1196
  description: 'Delete a file from an adapter file storage',
1058
1197
  inputSchema: { path: zod_1.z.string().describe('Path as "<adapter>/<dir>/<file>"') },
1059
1198
  }, async ({ path }) => {
@@ -1067,6 +1206,13 @@ class McpServer {
1067
1206
  }
1068
1207
  });
1069
1208
  server.registerTool('rename_file', {
1209
+ title: 'Rename or move a file',
1210
+ annotations: {
1211
+ readOnlyHint: false,
1212
+ destructiveHint: true,
1213
+ idempotentHint: false,
1214
+ openWorldHint: false,
1215
+ },
1070
1216
  description: 'Rename or move a file/directory within the same adapter file storage, ' +
1071
1217
  'e.g. "vis-2.0/main/a.json" -> "vis-2.0/backup/a.json"',
1072
1218
  inputSchema: {
@@ -1083,6 +1229,13 @@ class McpServer {
1083
1229
  }
1084
1230
  });
1085
1231
  server.registerTool('mkdir', {
1232
+ title: 'Create a directory',
1233
+ annotations: {
1234
+ readOnlyHint: false,
1235
+ destructiveHint: false,
1236
+ idempotentHint: true,
1237
+ openWorldHint: false,
1238
+ },
1086
1239
  description: 'Create a directory in an adapter file storage, e.g. "0_userdata.0/my-folder"',
1087
1240
  inputSchema: { path: zod_1.z.string().describe('Path as "<adapter>/<dir>"') },
1088
1241
  }, async ({ path }) => {
@@ -1815,21 +1968,57 @@ class McpServer {
1815
1968
  }
1816
1969
  return value;
1817
1970
  }
1818
- /** Read a file from an adapter file storage. */
1819
- async readFile(path, base64) {
1971
+ /**
1972
+ * Read a (window of a) file from an adapter file storage.
1973
+ *
1974
+ * At most `length` bytes starting at byte `offset` are returned, so files of any size can be fetched in chunks
1975
+ * without exceeding the tool-result size limit of MCP clients. For UTF-8 text the window edges are moved to
1976
+ * character boundaries, so a multibyte character is never split; `nextOffset` always points at the first byte
1977
+ * that was not returned and can be passed as `offset` of the next call.
1978
+ */
1979
+ async readFile(path, base64, offset = 0, length = DEFAULT_MAX_READ_BYTES) {
1820
1980
  const { adapterName, fileName } = McpServer.parseFilePath(path);
1821
1981
  const data = await this.adapter.readFileAsync(adapterName, fileName, { user: this.defaultUser });
1822
1982
  const file = data?.file;
1823
1983
  const mimeType = data?.mimeType;
1824
- if (base64 || typeof file !== 'string') {
1825
- return {
1826
- path,
1827
- mimeType,
1828
- encoding: 'base64',
1829
- content: Buffer.from(file).toString('base64'),
1830
- };
1984
+ if (file === undefined || file === null) {
1985
+ throw new Error(`File "${path}" not found`);
1986
+ }
1987
+ const asText = !base64 && typeof file === 'string';
1988
+ const buffer = Buffer.isBuffer(file) ? file : Buffer.from(file);
1989
+ const size = buffer.length;
1990
+ let start = Math.min(Math.max(0, Math.floor(offset)), size);
1991
+ let end = Math.min(start + Math.max(1, Math.floor(length)), size);
1992
+ if (asText) {
1993
+ // Never split a multibyte UTF-8 sequence: continuation bytes are 0b10xxxxxx.
1994
+ const isContinuation = (i) => (buffer[i] & 0xc0) === 0x80;
1995
+ while (start < end && isContinuation(start)) {
1996
+ start++;
1997
+ }
1998
+ while (end > start && end < size && isContinuation(end)) {
1999
+ end--;
2000
+ }
2001
+ if (end === start && start < size) {
2002
+ // `length` is smaller than one character: return at least that whole character to guarantee progress.
2003
+ end = start + 1;
2004
+ while (end < size && isContinuation(end)) {
2005
+ end++;
2006
+ }
2007
+ }
1831
2008
  }
1832
- return { path, mimeType, encoding: 'utf8', content: file };
2009
+ const chunk = buffer.subarray(start, end);
2010
+ const truncated = end < size;
2011
+ return {
2012
+ path,
2013
+ mimeType,
2014
+ encoding: asText ? 'utf8' : 'base64',
2015
+ content: chunk.toString(asText ? 'utf8' : 'base64'),
2016
+ size,
2017
+ offset: start,
2018
+ length: chunk.length,
2019
+ truncated,
2020
+ ...(truncated ? { nextOffset: end } : {}),
2021
+ };
1833
2022
  }
1834
2023
  /** Write a file to an adapter file storage. */
1835
2024
  async writeFile(path, content, base64) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/mcp-server",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for ioBroker",
5
5
  "author": {
6
6
  "name": "ioBroker",
@@ -28,19 +28,20 @@
28
28
  "@iobroker/webserver": "^3.0.2",
29
29
  "@modelcontextprotocol/sdk": "^1.30.0",
30
30
  "express": "^5.2.1",
31
- "zod": "^4.5.4"
31
+ "zod": "^4.6.2"
32
32
  },
33
33
  "devDependencies": {
34
- "@alcalzone/release-script": "~5.2.1",
35
- "@alcalzone/release-script-plugin-iobroker": "~5.2.0",
36
- "@alcalzone/release-script-plugin-license": "~5.2.2",
34
+ "@alcalzone/release-script": "^5.2.1",
35
+ "@alcalzone/release-script-plugin-iobroker": "^5.2.0",
36
+ "@alcalzone/release-script-plugin-license": "^5.2.2",
37
37
  "@iobroker/eslint-config": "^2.3.4",
38
- "@iobroker/testing": "^5.3.0",
38
+ "@iobroker/testing": "^6.2.1",
39
39
  "@iobroker/types": "^7.2.2",
40
40
  "@tsconfig/node22": "^22.0.6",
41
41
  "@types/express": "^5.0.6",
42
42
  "@types/node": "^22.20.1",
43
- "typescript": "^6.0.3"
43
+ "mocha": "^12.0.0",
44
+ "typescript": "~6.0.3"
44
45
  },
45
46
  "main": "build/index.js",
46
47
  "types": "build/index.d.ts",
@@ -57,6 +58,7 @@
57
58
  ],
58
59
  "scripts": {
59
60
  "build": "tsc -p tsconfig.build.json",
61
+ "pretest": "npm run build",
60
62
  "test": "mocha --exit",
61
63
  "test:package": "echo \"No package tests required\" && exit 0",
62
64
  "test:integration": "mocha test/testAdapter.test.js --exit",