@tiwater/office-mcp 0.16.18 → 0.16.20

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.
@@ -2,7 +2,7 @@
2
2
  "schema": "tiwater.office-provider-contract-manifest/v1",
3
3
  "provider": {
4
4
  "id": "@tiwater/office-mcp",
5
- "version": "0.16.18"
5
+ "version": "0.16.20"
6
6
  },
7
7
  "tools": [
8
8
  {
package/office/index.mjs CHANGED
@@ -200,7 +200,7 @@ const tools = [
200
200
  },
201
201
  {
202
202
  name: 'docx_read_object',
203
- description: 'Read one selected native DOCX object as an ordered native hierarchy written to the requested output artifact. The tool response only identifies that artifact and the selected root object; read the artifact for descendant refs and content. For a table, request row and cell kinds once; each row contains its ordered cells with text, grid span, and vertical merge state. Also request paragraph when paragraph boundaries determine what a later copy operation must retain.',
203
+ description: 'Read one selected native DOCX object as an ordered native hierarchy written to the requested output artifact. The tool response only identifies that artifact and the selected root object; read the artifact for descendant refs and content. For a table, request row and cell once. Add paragraph for whole-paragraph choices; add run and text for exact content selections.',
204
204
  inputSchema: inputContract('docx_read_object'),
205
205
  outputSchema: docxReadObjectOutput,
206
206
  annotations: { readOnlyHint: true, idempotentHint: true },
@@ -208,14 +208,14 @@ const tools = [
208
208
  },
209
209
  {
210
210
  name: 'docx_copy_content',
211
- description: 'Replace content in existing target cells while retaining target cell formatting and source inline meaning. Use this directly or after docx_copy_table_rows when a target cell needs an exact observed subset of source content. A source selection copies a whole object by ref, or an exact substring when range is attached to a run or text ref.',
211
+ description: 'Replace content in existing target cells while retaining target cell formatting and source inline meaning. Batch cells that need exact observed subsets after docx_copy_table_rows. A selection copies a whole object by ref, or an exact substring when range is attached to a run or text ref.',
212
212
  inputSchema: inputContract('docx_copy_content'),
213
213
  outputSchema: fixedEditOutput('docx_copy_content'),
214
214
  handler: args => fixedEdit('docx_copy_content', args),
215
215
  },
216
216
  {
217
217
  name: 'docx_copy_table_rows',
218
- description: 'Populate existing target tables by replacing selected data-row ranges with selected source rows. Use this whenever the target table already exists; explicit header-cell mappings preserve target presentation and native source grouping even when source and target grid spans differ. Each column must explicitly copy all source-cell paragraphs or only the first; inspect paragraph children before choosing.',
218
+ description: 'Populate existing target tables by replacing selected data-row ranges with selected source rows. Explicit header-cell mappings preserve target presentation and source grouping. A column content mode applies to every copied cell in that column; when cells need different subsets, copy the row structure first and batch those cells with docx_copy_content.',
219
219
  inputSchema: inputContract('docx_copy_table_rows'),
220
220
  outputSchema: fixedEditOutput('docx_copy_table_rows'),
221
221
  handler: args => fixedEdit('docx_copy_table_rows', args),
@@ -260,6 +260,7 @@ const tools = [
260
260
  description: 'Write a body-only DOCX JSON projection only when a downstream consumer explicitly requires that format. It is not a companion to docx_inspect and does not replace bounded list/find/read object selection.',
261
261
  inputSchema: inputContract('docx_export_json'),
262
262
  outputSchema: artifactOutput('docx_export_json'),
263
+ annotations: { readOnlyHint: true, idempotentHint: true },
263
264
  handler: docxExportJson,
264
265
  },
265
266
  {
@@ -313,6 +314,7 @@ const tools = [
313
314
  description: 'Inspect a current XLSX workbook or legacy XLS workbook and write one JSON observation containing workbook structure, exported values, formulas, styles, merged ranges, and any published legacy-format conversion evidence.',
314
315
  inputSchema: inputContract('xlsx_inspect'),
315
316
  outputSchema: artifactOutput('xlsx_inspect'),
317
+ annotations: { readOnlyHint: true, idempotentHint: true },
316
318
  handler: xlsxInspect,
317
319
  },
318
320
  {
@@ -320,6 +322,7 @@ const tools = [
320
322
  description: 'Export workbook sheet data from XLSX as structured JSON.',
321
323
  inputSchema: inputContract('xlsx_export_json'),
322
324
  outputSchema: artifactOutput('xlsx_export_json'),
325
+ annotations: { readOnlyHint: true, idempotentHint: true },
323
326
  handler: xlsxExportJson,
324
327
  },
325
328
  ...fixedToolDefinitions(xlsxFixedTools),
@@ -335,6 +338,7 @@ const tools = [
335
338
  description: 'Inspect a PPTX file and write one detailed JSON observation containing slides, masters, layouts, shapes, transforms, paragraphs, runs, and placeholders.',
336
339
  inputSchema: inputContract('pptx_inspect'),
337
340
  outputSchema: artifactOutput('pptx_inspect'),
341
+ annotations: { readOnlyHint: true, idempotentHint: true },
338
342
  handler: pptxInspect,
339
343
  },
340
344
  {
@@ -342,6 +346,7 @@ const tools = [
342
346
  description: 'Export PPTX slide text, notes, and placeholder hints to a new JSON artifact without returning the full presentation through MCP.',
343
347
  inputSchema: inputContract('pptx_export_json'),
344
348
  outputSchema: artifactOutput('pptx_export_json'),
349
+ annotations: { readOnlyHint: true, idempotentHint: true },
345
350
  handler: pptxExportJson,
346
351
  },
347
352
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiwater/office-mcp",
3
- "version": "0.16.18",
3
+ "version": "0.16.20",
4
4
  "description": "Published MCP server for Tiwater Office document capabilities",
5
5
  "type": "module",
6
6
  "license": "MIT",