Skip to main content

Read Markdown

Word, Excel, PowerPoint and data

FileHop’s current MCP source includes native structured Office reads and edits. Older website descriptions may predate these tools. Discover them on the installed build; an inspected readOnly reason takes precedence over an extension’s apparent support.

Common editing contract

Inspect the file, read only the relevant range, then submit one ordered atomic batch with expected_revision and a meaningful summary. A stale revision is file_changed: read again and reconcile. Use dry_run where exposed to validate without saving.

The engines preserve untouched native package parts instead of rebuilding the whole document from plain text. This is a reason to prefer them for existing files, not a guarantee of universal Office compatibility. Protection, encryption and unsupported parts can make a file read-only. An edit refusal should not be bypassed by silently flattening or dropping those parts.

After editing, review returned warnings/errors and preview the result. In-place saves have history steps; use named versions for meaningful milestones. See MCP workflow.

Create from a template and check the result

sheet_create and deck_create can create populated native workbooks and decks in one call, with editable tables, charts and more. document_create writes Word content from Markdown or structured blocks. For a blank file or byte-identical template copy, use the native create tools. Template mode requires expected_template_revision and is separate from initial content. See native Office creation for inputs, returned addresses and follow-up edits.

doc_check and deck_check provide revision-bound advisory findings such as missing alt text, placeholder/review issues and supported layout checks. Read coverage and truncation: a clean advisory report is not certification of Word/PowerPoint layout. doc_render and deck_render return revision-bound images, currently up to eight pages/slides per call; Word pagination is approximate. Check the relevant pages and keep the native source for human review.

Word documents

  1. doc_inspect outlines headings, styles, sections, fields, bookmarks, content controls, floating objects, equations, comments, tracked changes and protection.
  2. doc_read returns Markdown with stable paragraph/table anchors, or structured JSON blocks. Keep {#p:ID} anchors when replacing content to update existing blocks. A response can stop at 400 blocks; follow next.
  3. doc_edit handles blocks, text with formatting, tables, pictures, floating objects, equations, links, sections, headers/footers, style definitions and document properties.

Prefer the document’s paragraph styles. Use caption and cross_ref for figure/table numbering rather than typed numbers. Batches update supported fields, references, formulas and contents; inspect the fields report for items left to Word, such as page-number layout. Deleting a bookmark can break references, which are reported.

Address blocks by IDs, bookmark or heading path. Ambiguous heading matches are refused with candidate IDs. doc_read can expose hidden text, field codes/results, comments and tracked changes; do not accidentally treat marked deletions as accepted body content. Use track: true when reviewing with tracked changes or when protection permits only that mode. Discover the installed review edit schema before accepting or rejecting revisions.

Spreadsheets

sheet_inspect returns sheets, used ranges, visibility, protection, tables, merges, validation, names and editability. sheet_read returns typed values separately from displayed values, with optional formulas, styles and notes. This distinction matters for dates, currency, leading zeros, errors and formula results.

Ranges can be A1 references, whole columns/rows, qualified sheet ranges or table names. Reads are capped at 10,000 cells per call; follow next. In-editor reads recalculate formulas. Sheets beyond the editor’s 100,000-row bound can be read in windows of last-saved values instead; those are not newly recalculated results.

sheet_edit supports values, formulas, typed dates, formatting, merges, row/column operations, native table creation and sort/filter, notes, dropdowns, existing comment threads, native charts and worksheet operations. Use a qualified A1 range or the exact inspected table name where supported. Current per-call bounds are 500 edits and 50,000 cells. A sheet over 100,000 rows is refused for editing; use a data transformation to rewrite large datasets. Read returned formula errors and spill ranges: a saved file is not proof that a formula is valid.

XLSM inspection or conversion does not imply permission to execute macros or guaranteed macro-aware editing. Honor format, encrypted, protected and unsupported-part refusals. CSV/TSV/Parquet are data formats and cannot preserve the complete styling and multi-sheet model of an XLSX.

PowerPoint decks

deck_inspect provides stable slide IDs, layouts, masters, placeholders, theme fonts/colors and flags for charts, tables, media, animation and comments. deck_read reads shapes and their IDs, boxes in points, formatted paragraphs, notes, links, comments, transitions, tables and chart data. Use Markdown format for a compact outline; use structured reads for layout work. Follow next and next_shape when a call reaches its 200-shape bound.

deck_edit supports slide and shape operations, placeholder text, tables, pictures, charts, notes, comments, theme/master/layout edits and transitions. Fill template placeholders rather than drawing a replacement deck. Stable IDs remain useful when slides move; ordinal positions can change.

Charts can have an embedded workbook. deck_read reports ranges, formulas and whether chart data disagrees with the workbook (stale). Edit chart data through deck_edit so both stay synchronized. Do not patch only cached chart labels or assume every chart type is editable; discover the supported chart schema.

Preserving an existing animation or media part is different from authoring every effect. Check previews and unsupported-feature responses before promising animation, font or rendering parity.

Data analysis and rewriting

Start with data_schema for sheet/table selection, column names/types, row counts and sample/statistical information. Use data_query for one read-only DuckDB SQL statement over CSV, TSV, Excel, Parquet, JSON/JSONL or SQLite. path exposes a single table as data; tables names multiple inputs for joins. Follow query pagination.

SQL runs with file access restricted by FileHop; it is not an arbitrary DuckDB shell for installing extensions or accessing other files. data_export writes the full query result to CSV, TSV, Parquet, JSON, JSONL or XLSX. XLSX result export allows at most 1,048,575 data rows, leaving room for the header.

data_transform creates a new file for deduplication, filtering, sorting, sampling, splitting, aggregation, pivots or joins. Splitting creates at most 500 outputs. It rewrites tabular data; it is not a preservation path for a richly formatted workbook. Use sheet_edit when workbook structure and presentation must survive.