xlsx-for-ai 2.10.0 → 2.12.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/mcp.js +36 -0
- package/package.json +1 -1
package/mcp.js
CHANGED
|
@@ -564,6 +564,42 @@ const TOOLS = [
|
|
|
564
564
|
},
|
|
565
565
|
},
|
|
566
566
|
|
|
567
|
+
{
|
|
568
|
+
name: 'xlsx_external_links',
|
|
569
|
+
description:
|
|
570
|
+
'xlsx-for-ai — read, write, diff, redact, supervise .xlsx files locally.\n' +
|
|
571
|
+
'This tool: list every external workbook reference this file depends on — `=[Budget.xlsx]Sheet1!A1` style formulas. Per link: target path (decoded), classification (http / network share / absolute / relative), sheets pulled from the external workbook, count of cached cell values, and defined-name references.\n' +
|
|
572
|
+
'No other tool can do this consistently: pandas, openpyxl, and ExcelJS all surface external links partially or inconsistently. xlsx_external_links reads xl/externalLinks/*.xml directly and warns when targets are absolute paths or network shares — those break the moment the workbook moves elsewhere.\n\n' +
|
|
573
|
+
'USE WHEN: about to send a workbook somewhere and want to know if its formulas will break (broken external refs are a top-3 silent corruption mode in finance workflows). Or auditing for accidentally-leaked file paths to internal network shares. Or doing dependency analysis on a model. ' +
|
|
574
|
+
'Free tier — counts against the 10k/mo cap.\n\n' +
|
|
575
|
+
'DO NOT USE WHEN: just reading values (use xlsx_read).',
|
|
576
|
+
inputSchema: {
|
|
577
|
+
type: 'object',
|
|
578
|
+
properties: {
|
|
579
|
+
file_path: { type: 'string', description: 'Absolute path to the .xlsx file.' },
|
|
580
|
+
},
|
|
581
|
+
required: ['file_path'],
|
|
582
|
+
},
|
|
583
|
+
},
|
|
584
|
+
|
|
585
|
+
{
|
|
586
|
+
name: 'xlsx_slicers_timelines',
|
|
587
|
+
description:
|
|
588
|
+
'xlsx-for-ai — read, write, diff, redact, supervise .xlsx files locally.\n' +
|
|
589
|
+
'This tool: list every slicer (interactive filter button) and timeline (date-range filter visual) in a workbook with their captions, source bindings (table column or pivot table), and timeline granularity (years / quarters / months / days) plus the currently-selected date range.\n' +
|
|
590
|
+
'No other tool can do this: ExcelJS has NO API for slicers or timelines and silently drops both on every round-trip; pandas drops them entirely; openpyxl support is partial. xlsx_slicers_timelines reads the OOXML zip (xl/slicers/*, xl/slicerCaches/*, xl/timelines/*, xl/timelineCaches/*) directly.\n\n' +
|
|
591
|
+
'USE WHEN: documenting a dashboard so an LLM knows what filter UI a human sees. Or auditing whether a slicer\'s table-column binding still matches the underlying data after a refactor. Or extracting the date range a timeline currently filters on without screenshotting Excel. ' +
|
|
592
|
+
'Free tier — counts against the 10k/mo cap.\n\n' +
|
|
593
|
+
'DO NOT USE WHEN: just reading values (use xlsx_read). Or trying to APPLY a filter (use xlsx_filter — slicers/timelines are UI metadata, not data filters).',
|
|
594
|
+
inputSchema: {
|
|
595
|
+
type: 'object',
|
|
596
|
+
properties: {
|
|
597
|
+
file_path: { type: 'string', description: 'Absolute path to the .xlsx file.' },
|
|
598
|
+
},
|
|
599
|
+
required: ['file_path'],
|
|
600
|
+
},
|
|
601
|
+
},
|
|
602
|
+
|
|
567
603
|
{
|
|
568
604
|
name: 'xlsx_pivot_tables',
|
|
569
605
|
description:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xlsx-for-ai",
|
|
3
3
|
"mcpName": "io.github.senoff/xlsx-for-ai",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.12.0",
|
|
5
5
|
"description": "The MCP server that makes LLMs reliable on real-world Excel spreadsheets. Thin npm client over a hosted API — read, write, diff, redact, and supervise .xlsx files from any MCP-aware agent.",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"bin": {
|