At most: creates or changes data: records, files, settings.
What it costs
Free
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
NuGetOfficeIMO.Toolv3.5.0
Published to NuGet as `OfficeIMO.Tool` — run it with your .NET MCP host.
OfficeIMO — Office and document libraries for .NET
OfficeIMO is a family of COM-free .NET libraries for creating, reading, editing, converting, and exporting Office and document formats. It runs in services, desktop applications, build agents, containers, and automation hosts without Microsoft Office, Excel, PowerPoint, Visio, or LibreOffice automation.
This is not one facade over a collection of unrelated document libraries. OfficeIMO owns its OneNote, PDF, Markdown, RTF, OpenDocument, AsciiDoc, LaTeX, OPML, DocBook, CSV, EPUB, ZIP, drawing, Apple iWork source, legacy Word .doc, legacy Excel .xls, and legacy PowerPoint .ppt/.pot/.pps implementations. Word, Excel, and PowerPoint use the Open XML SDK for package mechanics; HTML exposes owned document and provider contracts while retaining AngleSharp for parsing and CSS execution. Converters compose the same first-party object models used by the native packages and return diagnostics when a target format cannot carry everything from the source.
Applications should keep OfficeIMO packages on the same coordinated version. Converters compose package-owned document models and expose result-bearing APIs when callers need fidelity diagnostics.
For existing Windows x64 applications that import through ODBC, OfficeIMO.Odbc exposes bounded .xlsx workbook snapshots as read-only SQL tables. It is built and deployed separately from the .NET document packages.
Upgrading an existing application? The OfficeIMO migration guide covers package, API, and behavior changes across every format. Release history and downloadable artifacts are published through GitHub Releases.
If OfficeIMO saves you time, please consider supporting the work through GitHub Sponsors or PayPal. PowerShell users should start with PSWriteOffice.
OfficeIMO keeps document engines first-party and optional integrations isolated. The table calls out direct non-OfficeIMO runtime dependencies that matter to package selection; Microsoft/BCL compatibility packages are still used where older target frameworks need platform APIs.
Word 97–2003 .doc, Excel BIFF8 .xls, PowerPoint 97–2003 .ppt/.pot/.pps
First-party Apple iWork support
Modern IWA-based .pages, .numbers, and .key read/inspect plus editable or visual-fallback projection; bounded template-free Keynote text/image/table slides, Pages body documents and Numbers scalar-table spreadsheets
First-party offline OneNote support
Desktop/FSSHTTP .one, .onetoc2, .onepkg
Managed PNG/JPEG/TIFF/WebP/SVG document export
Drawing; Word, Excel, PowerPoint, HTML, OneNote, Visio, and PDF; HTML-backed email and EPUB; ODT/ODS/ODP through their Office adapters
The checkboxes describe the exact level of support: authoring, editing, reading, preserving, inspecting, converting, or exporting. A checked inspection or preservation item is not presented as full authoring support.
OfficeIMO Studio
OfficeIMO Studio puts the OfficeIMO engines in an app: read, search, mark up and fill PDFs, organize pages, make scans searchable, convert Office documents to PDF, and protect and sign the result. Documents are processed on your own device; connecting the document assistant to a model is optional.
Windows and Linux: the desktop workspace, from the Microsoft Store or as a signed MSI, Debian package or portable ZIP for x64 and Arm64 from GitHub Releases. It adds comment threads, redaction, content editing, form authoring, conversion from PDF, comparison and a document assistant. See the Studio README.
Mac, iPad and iPhone: native apps on the same engine, in development, with system document handling, Apple Pencil markup, the document camera, on-device text recognition with Vision, and Shortcuts. See the Apple app README.
The OfficeIMO command-line tool runs the same conversions, extraction and workflows from scripts, and serves them to AI agents over MCP.
OfficeIMO for AI agents
Claude Code, Codex, VS Code with GitHub Copilot, Cursor and other MCP clients use OfficeIMO to inspect, search, fetch and convert local Word, Excel, PowerPoint, PDF and mail files, and to make separate PDF outputs. The OfficeIMO Document Tools plugin adds two Agent Skills and the MCP server, which runs on your computer and opens only the folders you allow:
The AI agents page has one-click installation for VS Code and Cursor, the configuration for other clients, every tool the server provides, and the directories that list OfficeIMO.
Packages and tools
Every checked item below is implemented today. Detailed behavior, examples, and fidelity boundaries live in each project README.
Bounded ZIP metadata traversal with ingestion warnings and verified member reads in memory
Managed ZIP extraction with path, declared-size, decoded-length and CRC validation
Managed single-cabinet extraction with Store, MSZIP, and LZX compression
Passive MSI extraction maps embedded CAB members through authored Directory, Component, File, and Media tables
Selective output, path and collision validation, finite resource limits, cancellation, and atomic destination publication
Dependency footprint: only OfficeIMO.Core; extraction does not execute installers or custom actions. Cabinet sets, external MSI payloads, and action-dependent installation layouts are unsupported; see the support matrix.
Opt-in OfficeIMO.Word.IWork, OfficeIMO.Excel.IWork, and OfficeIMO.PowerPoint.IWork adapters with editable reconstruction versus visual fallback reports
Independently sourced corpus evidence across Pages 14.1/14.5, Numbers 11.1–15.1 histories, and Keynote 8.1/14.5/15.2.1
Template-free native Keynote slides with rich text, PNG/JPEG images and scalar tables; native Pages body documents with page settings and rich paragraphs; independent decoding and fixture-specific Apple reopen/export/edit evidence
Template-free native Numbers scalar-table spreadsheets with independent decoding and native open/edit/save/export evidence
Preservation-aware unchanged native saves, direct Keynote image moves/resizes and existing Numbers numeric/boolean cell edits through separate sessions over immutable source snapshots, with explicit visual-cache acceptance and operation reports
Dependency footprint: only OfficeIMO.Core; the package and IWA readers are first-party implementations. Word, Excel, and PowerPoint remain independent unless an iWork adapter is installed explicitly.
Optional bridge from every ChartForgeX VisualArtifact to reusable SVG and OfficeDrawing representations
Vector-native placement in Word, Excel, and PowerPoint plus first-party PDF composition through OfficeIMO.Drawing
Point-normalized sizing, accessibility text, region metadata, and explicit preserve-vector, raster-fallback, or require-vector policy
Native editable Visio projection for CFX topology, flow, and sequence semantics, including containers, Shape Data, hyperlinks, messages, notes, activations, and fragments
ChartForgeX watermarks and render options flow through the same conversion, while document/page watermarks remain owned by OfficeIMO
Dependency footprint: ChartForgeX and the OfficeIMO Word, Excel, PowerPoint, PDF, Visio, and Core packages. Existing format packages remain independently usable and do not depend on ChartForgeX.
Managed document export to PNG, JPEG, TIFF, lossless WebP, and SVG; opt-in conversion packages add PDF, HTML, Markdown, RTF, ODT, and Google Docs
Dependency footprint: Open XML SDK plus OfficeIMO.Core; legacy .doc support and image export are OfficeIMO implementations. Apple Pages import is opt-in through OfficeIMO.Word.IWork.
Create, load, edit, inspect, and save .xlsx workbooks
Read, write, and convert the supported first-party BIFF8 .xls subset with loss preflight
Worksheets, cells, range algebra, merges, mutable table schemas, complete filter state, freeze panes, hyperlinks, local/workbook names, and named styles
Object, dictionary, DataTable, DataSet, row, stream, and typed-model import/export with editable-row workflows
Streaming reads, direct package writers, parallel compute/apply phases, progress, cancellation, and large-workbook controls
Fonts, fills, borders, alignment, number formats, rich text, themes, row/column sizing, and reusable report styling
Transactional row/column/cell shifts plus copy/move/transpose with dry-runs, rollback budgets, reference remapping, and package diagnostics
Data validation, conditional formatting, icon sets, data bars, color scales, allowed-edit range management, ignored-error metadata preservation, and sparkline lifecycles
Shared A1/R1C1 formula/reference syntax, formula-aware search and state diagnostics, dependency graphs, and a bounded calculation engine for reporting functions
Charts across common 2-D/3-D, pie, radar, stock, surface, combo, secondary-axis, trendline, dashboard, and native ChartEx scenarios
Pivot tables with fields, layouts, styles, filters, grouping, calculated fields, shared caches, and native slicer/timeline views
Native query-backed tables with caller-hosted execution, explicit security policy, bounded transactional refresh, cancellation, and structural remapping
Templates with marker binding, repeated rows, repeated sheets, optional regions, formatters, image binding, and preflight diagnostics
Legacy comments plus threaded-comment/person metadata inspection and preservation
Worksheet/workbook protection, encrypted OOXML packages, document properties, and compatibility validation
Print areas, page breaks, page setup, and first/odd/even headers and footers with supported images
Native in-cell images plus feature inspection and relationship-preserving round trips for macros, external links, custom XML, embedded packages, signatures, controls, and unowned imported parts
Explicit file-backed editing with size/part budgets and deterministic cancellation, without changing established direct-write, streaming-read, or unchanged-package fast paths
Workbook, worksheet, and range export to PNG, JPEG, TIFF, lossless WebP, and SVG; adapters add PDF, HTML, ODS, and Google Sheets
Reproducible read, write, edit, package-size, and feature-rich cross-library benchmark suites with output validation and platform provenance
Dependency footprint: Open XML SDK plus OfficeIMO.Core; legacy .xls support and image export are OfficeIMO implementations. Apple Numbers import is opt-in through OfficeIMO.Excel.IWork.
Encrypted presentation save/load and read-only, stream-backed, detached-load, and explicit-persistence lifecycles
Slide export to PNG, JPEG, TIFF, lossless WebP, and SVG plus presentation-wide image export; adapters add PDF, HTML, and ODP
Dependency footprint: Open XML SDK plus OfficeIMO.Core; legacy binary support, composition, editing, charting, and managed image export are OfficeIMO implementations. Apple Keynote import is opt-in through OfficeIMO.PowerPoint.IWork.
Headless PNG, JPEG, TIFF, lossless WebP, and SVG export for individual pages plus document-wide batch export
Searchable PDF conversion through OfficeIMO.Visio.Pdf, with explicit semantic-fallback diagnostics
Dependency footprint:System.IO.Packaging plus OfficeIMO.Core; the VSDX model and renderers are first-party, while PDF conversion reuses the shared Reader/PDF projection.
Typed invoice and credit-note authoring, parsing, editing and bounded CII/UBL
conversion. One decimal calculation owns quantities, adjustments, VAT and payable
totals. Unsupported source data is reported before rewriting. The core has no
external runtime dependencies.
OfficeIMO.Invoicing.Validation adds
hash-pinned XSD and Schematron releases for all five Factur-X 1.09.2 profiles,
EN 16931, XRechnung and UBL Peppol BIS, plus pinned independent corpus evidence.
Business-rule execution uses an explicitly configured local Java/Saxon runtime.
OfficeIMO.Invoicing.Pdf renders localized or
multilingual layouts and attaches the exact captured XML through PdfInvoiceDocument.
Native Polish FA(3) reading and bounded authoring keep national declarations
separate from EN totals, with an offline pinned-schema validator and official
fixtures. OfficeIMO.Invoicing.KSeF owns token
authentication, encrypted online submission, status and UPO retrieval. Submission
references, accepted status, receipt binding and receipt schema results remain
distinct.
Create PDFs with page setup, rich text, TrueType/OpenType-CFF subsetting, bounded managed Arabic plus shaping-provider positioning, multilingual font fallback, dictionary hyphenation, mixed inline visuals, typed business recipes, page-aware components, styled multipage containers, balanced block-flow columns, tables, and images
Conditional and replayable flow, position capture, semantic sections, generated TOCs, named destinations, outlines, and generated optional-content layers
AcroForm creation, field values, choice fields, appearance generation, filling, flattening, and validation
Annotations, bookmarks/outlines, named destinations, attachments/associated files, optional-content layers, and structured/tagged output
Exact-artifact validator-backed generation and proof for PDF/A-2b, PDF/A-3b, PDF/UA-1, Factur-X, and ZUGFeRD, plus fail-closed readiness analysis for other formal profiles
Text extraction by page/range, layout-aware Markdown, logical paragraphs/headings/lists/tables, links, forms, images, and navigation
Edit metadata, forms, annotations, bookmarks, attachments, and security; stamp text/images and apply watermarks
Redaction search/application/verification, sanitization, optimization, OCR hooks, and document-understanding pipelines
Standard and modern encrypted PDF read/write plus signature mutation and permissions analysis
Incremental object updates and append-only annotation paths where the source structure allows them
Managed page rendering to PNG, JPEG, TIFF, lossless WebP, and SVG with page selections, pixel/page limits, capability diagnostics, and continue-on-error batches
Shared mutation-portfolio and render-compatibility assessments backed by the canonical preflight/planner and generated capability registry
Bounded stream serialization with per-save peak-retention, spill, buffering, and passthrough evidence
Exact embedded TrueType outlines plus shared managed CMYK, Lab, XYZ, and calibrated-color conversion where supported
Logical recovery used by PDF-to-Word, PDF-to-Excel, PDF-to-PowerPoint, and PDF-to-RTF adapters
Conversion proof, visual comparison, external-validator hooks, and rewrite-preservation reports for warnings, blockers, and structure drift
Dependency footprint: only OfficeIMO.Core; no third-party PDF parser, writer, renderer, OCR, or cryptographic dependency. Install OfficeIMO.Pdf.Ocr only for scanned-page recognition and searchable output, and OfficeIMO.Security only for its built-in CMS/X.509/RFC 3161 adapter.
Capture a typed invoice once for visible PDF content and its embedded CII XML
Render invoices and credit notes with line items, VAT breakdowns, payment details, identifiers, and totals
Keep later model edits separate from an existing snapshot
Localize generated labels in English, German, Polish, French, or custom multilingual packs
Preserve long mixed-script descriptions through embedded font fallbacks and exact XML/PDF agreement checks
Dependency footprint:OfficeIMO.Invoicing and OfficeIMO.Pdf. Install this optional adapter only when combining the XML invoice engine with PDF generation.
Detached and encapsulated CMS signing and verification with bounded parsing and structured findings
RSA and ECDSA verification, platform X.509 chain/revocation policy, and RFC 3161 timestamp validation
CMS EnvelopedData encryption/decryption for S/MIME recipients
Bounded XML Digital Signature creation, verification, and canonicalization for format-owned signing workflows
Platform-RSA signing without exporting private keys, including CNG/HSM-compatible key handles
One strongly typed provider explicitly supplied to thin format-package security adapters
Dependency footprint:OfficeIMO.Core contracts plus BouncyCastle.Cryptography and System.Security.Cryptography.Xml; no dependency on Word, PDF, Email, or another format package. Format packages do not depend on Security.
Format package
Security support without the provider
Optional provider-backed operations
OfficeIMO.Word
OPC/VBA signature discovery, evidence reporting, and fail-safe mutation policy
OPC XML signature creation/validation and VBA CMS/trust/timestamp validation
OfficeIMO.Pdf
Signature dictionaries, byte ranges, external-signer hooks, preservation and mutation policy
Built-in CMS signing, X.509 validation, and RFC 3161 processing
OfficeIMO.Email
MIME parsing, S/MIME carrier discovery, and protected-source retention
CMS signing, encryption, verification, decryption, and sign-then-encrypt for RFC 5322/MIME output
OfficeIMO.Excel
OPC/VBA signature inspection and fail-safe mutation policy
OPC/VBA signature creation, validation, and trust evaluation
OfficeIMO.PowerPoint
OPC, legacy, and VBA signature inspection plus fail-safe mutation policy
OPC/VBA signature creation, validation, and trust evaluation
OfficeIMO.Visio
OPC signature inspection plus fail-safe mutation policy
OPC signature creation and validation
OfficeIMO.OpenDocument
First-party password encryption/decryption, signature discovery, and fail-safe mutation policy
Bounded XML package-manifest signature creation and validation
OfficeIMO.Epub
IDPF/Adobe font deobfuscation, signature discovery, and diagnostics
Bounded XML package-manifest signature creation and validation
Install OfficeIMO.Security only in applications that use a provider-backed operation. Its cryptographic dependencies
therefore do not change the restore graph, trimming roots, or NativeAOT surface of ordinary format consumers.
Native Publisher publication recovery into positioned pages, styled text stories,
table cells and embedded image assets, with SVG export and explicit fidelity
reports. OfficeIMO.Publisher.Pdf adds multi-page
PDF conversion through the shared drawing and PDF engines. The
support contract identifies profile and rendering
limits. The reader references only OfficeIMO.Core and does not require Publisher.
The Reader adapter retains complete stories,
physical page inventory and image descriptors for semantic ingestion.
Compiled HTML Help reading with exact entry extraction, topics, embedded resources,
hierarchical contents, and the keyword index. Optional Markdown,
EPUB, and PDF adapters reuse
the existing conversion engines and expose fidelity reports. Reader ingestion
retains archive hashes and topic citations. See supported profiles
for ITSF/LZX coverage and export limits. Loading is inert and needs no Windows help viewer.
Portable XPS/OpenXPS package reading, native page editing, and writing, with
embedded fonts, paths, images, and explicit conversion diagnostics. SVG and raster
export reuse the shared drawing engine; OfficeIMO.Xps.Pdf
adds vector PDF export. Rendering and preservation boundaries
are documented separately. OfficeIMO.Reader.Xps
adds bounded Unicode, logical-order and page ingestion. The core package references
only OfficeIMO.Core.
Source-preserving read, edit, deterministic write, and reopen workflows for BibTeX/BibLaTeX, CSL JSON, RIS, NBIB/MEDLINE, and EndNote XML
Exact unchanged text and loaded-byte output, plus safe same-format unknown-field preservation after edits
Cross-format conversion reports with strict rejection of approximated or omitted data
Bounded file, stream, text, sync, and async APIs with cancellation and inert XML/TeX handling
Dependency footprint:System.Text.Json and System.Text.Encoding.CodePages on compatibility targets; no dependency on another OfficeIMO package, Word, Open XML, TeX, EndNote, rendering, or network clients.
Managed Unicode PST creation with folders, typed items, recipients, attachments, embedded messages, named properties, and multi-valued MAPI properties
Resumable, source-bound OST/PST/OLM/EMLX/Mbox/mailbox-directory conversion into a separate verified PST with item provenance and explicit partial-result policy
Existing Unicode PST folder/item mutation through a locked, verified, optionally backed-up atomic rewrite transaction
Configurable source, cache, tree, item, attachment, archive, XML, directory, and recursion limits with structured diagnostics
Bounded Outlook OAB component discovery with v4, display-template, and legacy v2/v3 role inspection
Lazy v4 Full Details entry and distribution-list enumeration with dynamic schemas and retained raw properties
Exact-offset resumable search across names, addresses, organization, phones, postal fields, comments, and membership
Seeded CRC, record-framing, and full-schema validation with progress, cancellation, and explicit limits
Shared EmailAddress, OutlookContact, MapiProperty, and diagnostics models instead of duplicate directory primitives
Dependency footprint:System.Text.Encoding.CodePages plus first-party OfficeIMO Drawing and RTF. OfficeIMO.Security is optional for S/MIME signing, encryption, verification, and decryption and is never pulled transitively; there is no Outlook installation, native library, or third-party message/store/OAB parser.
Lazy assets, bounded corruption-resistant parsing, structured diagnostics, legal desktop/FSSHTTP/handwriting fixtures, benchmarks, and Microsoft OneNote open/edit/save/reopen interoperability proof
Dependency footprint: only first-party OfficeIMO.Core; zero third-party runtime dependencies and no Microsoft Graph, GraphEssentialsX, COM, installed OneNote, or commercial SDK.