Office MCP
Uses LibreOffice for portable PDF conversion when native Microsoft Office is unavailable.
Runs the MCP server locally over stdio using Node.js 20 or newer.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Office MCP Create a two-slide PowerPoint about Q3 results and save it to Documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Office MCP
Give AI agents safe, local control over Microsoft Excel, Word, and PowerPoint on Windows.
Create, inspect, edit, analyze, animate, render, and verify Office files through MCP—with access restricted to folders you approve.
This is an independent open-source project and is not affiliated with or endorsed by Microsoft.
Office MCP gives an orchestrating AI deterministic handles for Microsoft Office and a review pipeline that can verify the exact draft before delivery. It works directly with .xlsx, .docx, and .pptx packages and can use the real installed Excel, Word, and PowerPoint applications on Windows for full-fidelity editing, calculation, charts, PivotTables, PDF export, animation, and slide rendering. It runs locally over stdio, requires no API key, and keeps file access bounded to configured roots. The supported release target is Windows; macOS and Linux are currently out of scope.
The server does not decide what a report, model, or presentation should say. The model plans the work and calls these tools to inspect inputs, construct the documents, render the result, visually review it, and iterate.
Your files stay local and access is bounded. OFFICE_MCP_ROOTS defines the only directories the server may read or write. Point it at the narrowest folder that contains the documents you want the agent to use; paths outside those roots are rejected.
Made with Office MCP
The 10-slide Inside an AI Agent deck uses native Morph transitions and timed animations. Every slide was rendered and reviewed through Office MCP before the video export.

Download the full MP4 · Download the editable PowerPoint
Related MCP server: officeCliMCP
Quick start (Windows PowerShell)
You need Node.js 20+ and an MCP client such as Codex/ChatGPT desktop or Claude Code. Desktop Microsoft Office is optional for basic .xlsx, .docx, and .pptx file creation; it is required for Windows-native features such as animations and PowerPoint rendering.
The package is published on npm as @parryhotter/office-mcp.
Choose which files the AI may access. This example allows your Documents folder; change
$allowedto a narrower folder if you prefer:$allowed = ([Environment]::GetFolderPath('MyDocuments'))Connect one client.
For Codex CLI or ChatGPT desktop:
codex mcp add office --env "OFFICE_MCP_ROOTS=$allowed" -- npx -y @parryhotter/office-mcp codex mcp listFor Claude Code:
claude mcp add --scope user --env "OFFICE_MCP_ROOTS=$allowed" --transport stdio office -- npx -y @parryhotter/office-mcp claude mcp get officeRestart an already-open desktop client or start a new chat. Ask: “Call
office_capabilitiesand tell me which Office features are available.” Then try: “Usepowerpoint_create_designed_presentationto create a two-slide presentation in my Documents folder, inspect it, and report the saved path.”
The client launches Office MCP when needed; do not start a second server process in a separate terminal. If you use both clients, register it in both. Existing office entries should be checked before re-adding them.
Copy-paste client configurations
Replace C:\\Users\\you\\Documents with the narrowest folder the agent should access. Fully restart the client after saving its configuration.
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"office": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@parryhotter/office-mcp"],
"env": {
"OFFICE_MCP_ROOTS": "C:\\Users\\you\\Documents"
}
}
}
}Edit %USERPROFILE%\.cursor\mcp.json for all projects, or .cursor\mcp.json inside one project:
{
"mcpServers": {
"office": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@parryhotter/office-mcp"],
"env": {
"OFFICE_MCP_ROOTS": "C:\\Users\\you\\Documents"
}
}
}
}Edit %USERPROFILE%\.codeium\windsurf\mcp_config.json:
{
"mcpServers": {
"office": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@parryhotter/office-mcp"],
"env": {
"OFFICE_MCP_ROOTS": "C:\\Users\\you\\Documents"
}
}
}
}Create .vscode\mcp.json in a workspace, or run MCP: Open User Configuration from the Command Palette:
{
"servers": {
"office": {
"type": "stdio",
"command": "cmd",
"args": ["/c", "npx", "-y", "@parryhotter/office-mcp"],
"env": {
"OFFICE_MCP_ROOTS": "C:\\Users\\you\\Documents"
}
}
}
}Use this shape when the client accepts standard MCP JSON:
{
"mcpServers": {
"office": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@parryhotter/office-mcp"],
"env": {
"OFFICE_MCP_ROOTS": "C:\\Users\\you\\Documents"
}
}
}
}Configuration formats: Claude Desktop · Cursor · VS Code/Copilot. Windsurf uses the same mcpServers structure at the configuration path listed above.
Install from source
For development, contribution, or testing an unreleased commit:
git clone https://github.com/gauravvvvvvvvvv/office-mcp.git
Set-Location office-mcp
npm ci
npm run build
$entry = (Resolve-Path .\dist\index.js).Path
$allowed = ([Environment]::GetFolderPath('MyDocuments'))
# Pick one client:
codex mcp add office --env "OFFICE_MCP_ROOTS=$allowed" -- node $entry
# claude mcp add --scope user --env "OFFICE_MCP_ROOTS=$allowed" --transport stdio office -- node $entryWhy this server
Hybrid Windows operation: direct Office-file creation and inspection without launching desktop Office, plus native Office automation when installed.
Prompt-specific quality contracts, file comparisons, render evidence, and a finalization gate that refuses stale or incomplete review.
PowerPoint generation that stays in the background by default; it does not repeatedly steal focus from the user's work.
Bounded filesystem roots, explicit overwrite behavior, and no arbitrary COM execution tool.
These are design choices, not proof that this project is more capable or produces better-looking documents than every alternative. Its 34-tool surface is intentionally bounded; a human-quality result still depends on the orchestrating model, source material, and visual review.
What works
Application | Operations |
Excel | Create and inspect workbooks; read/write/format ranges; descriptive analysis and read-only filtered/grouped queries; formulas and native recalculation; tables, charts, sorting, filters, named ranges, conditional formatting, validation, and PivotTables |
Word | Create and inspect documents; sections and page layout; headers, footers, page numbers, TOC fields, source-backed citation text, headings, lists, tables, images, links, footnotes, replacement, native comments and tracked changes, and PDF export |
PowerPoint | Create, inspect, and audit decks; reuse existing PPTX masters/layouts or duplicate styled slides; text, shapes, images, media, tables, charts, notes; native animation timeline editing, transitions, PDF export, and PNG rendering |
Common | Discover files in directories, list active Office files, inspect and compare supported files, export PDF, run prompt-specific quality checks, prepare render-backed review evidence, and finalize only reviewed drafts |
The server exposes 34 MCP tools:
office_capabilitiesoffice_inspect_fileoffice_search_filesoffice_convert_to_pdfoffice_export_pdfoffice_quality_checkoffice_compare_filesoffice_prepare_reviewoffice_finalizeoffice_get_review_imageexcel_create_workbookexcel_inspect_workbookexcel_read_rangeexcel_analyze_datasetexcel_query_datasetexcel_write_rangeexcel_set_formulasword_create_documentword_inspect_documentword_append_paragraphword_replace_textpowerpoint_create_presentationpowerpoint_create_designed_presentationpowerpoint_inspect_presentationpowerpoint_audit_presentationpowerpoint_inspect_templatepowerpoint_create_from_templatepowerpoint_replace_textoffice_native_statusoffice_list_open_filesexcel_native_batchword_native_batchpowerpoint_native_batchpowerpoint_render_presentation
Requirements
Node.js 20 or newer
Microsoft Office on Windows for native automation, active-document control, and PowerPoint rendering
LibreOffice only for portable PDF conversion when native Office is unavailable
Microsoft Office does not need to be installed for the portable file operations.
Platform support
Windows 10/11 is the supported target. Direct package operations need Node.js but do not require desktop Office. Native automation, active-document control, Excel recalculation, PowerPoint animations, and PowerPoint rendering require installed desktop Microsoft Office. PDF export can use desktop Office or LibreOffice. macOS and Linux are currently out of scope and are not supported release targets.
Direct package operations edit document files without controlling an open Office window. This is a local stdio server, not a hosted service: its client must be able to launch the Node.js process and access the allowed files.
Verify a development checkout
These commands are for contributors and maintainers, not required to install the server:
npm run check
npm run smokenpm run check type-checks, runs the portable integration tests, and builds dist/. npm run smoke launches the compiled server through an MCP client and creates a test deck. On Windows with desktop Microsoft Office installed, npm run test:native additionally tests native Excel, Word, and PowerPoint behavior. Do not run that native test on a machine without Office.
One-prompt workflow
For a request such as “analyze the financial workbook in this folder and create a board presentation,” an orchestrator can:
Call
office_search_filesto discover workbooks and templates.Call
office_inspect_fileorexcel_native_batchto understand data, formulas, and workbook structure.Call
excel_analyze_datasetfor deterministic data-quality statistics andexcel_query_datasetfor focused filters, group-by summaries, and sorting; then reason about the business question and plan the story.Call
powerpoint_create_designed_presentationfor a new narrative deck,powerpoint_create_presentationfor a custom layout, orpowerpoint_inspect_templatefollowed bypowerpoint_create_from_templateto preserve a company deck's layouts.If motion is requested, call
powerpoint_native_batchto add object animations and slide transitions, then save and reopen to inspect the timeline.Define a quality contract from the actual prompt, including required text, structure, numerical assertions, and—when editing—an optional baseline source file. Call
office_quality_check; repair blocking issues.Call
office_prepare_reviewto render every slide or export a Word/Excel PDF, and inspect the result. For a long deck, request slides beyond the inline preview withoffice_get_review_image.Visually critique alignment, overflow, hierarchy, and chart readability; apply corrections and rerun the check and render. PNG renders cannot demonstrate motion.
Call
office_finalizewith honest pass/fail notes for every slide, sheet, or document and every prompt criterion. It verifies the draft, contract, baseline, render evidence, and review coverage again, then copies to a separate final file without overwriting.
This is the intended separation: the AI supplies judgment; Office MCP supplies reliable handles.
Quality gate and honest limits
office_quality_check validates ZIP package relationships, checks explicit prompt assertions, and returns the draft's SHA-256 hash and review units. It can check Excel sheets, headers, exact cells, and formula errors; Word headings, tables, and image descriptions; and PowerPoint slide counts, minimum font sizes, speaker notes, and structural audit flags. A baseline.path compares an edited file to its source and blocks removed sheets, slides, or Word paragraphs by default. Contract thresholds can explicitly permit intended removal or bound changed Excel cells. office_compare_files returns the detailed semantic difference independently of finalization.
office_prepare_review creates hashed slide PNGs or a PDF and a manifest tied to the exact draft, contract, and baseline. office_finalize refuses failed machine checks, a stale or incomplete render, a changed draft, unreviewed units, failed criteria, or unaccepted warnings. The server cannot determine whether a claim is true, whether a chart tells the right story, whether a design is beautiful, or whether a reviewer genuinely inspected the output. The orchestrator must use the visual evidence and source data honestly; don't mark a criterion passed if it was not checked. Native rendering and PDF export need installed Office or LibreOffice, and PowerPoint slide PNG review specifically needs desktop PowerPoint on Windows.
Quiet background generation
Portable PPTX creation edits files directly and never opens PowerPoint. Native file-based PowerPoint operations now create or open presentations with hidden windows by default, including rendering, animation edits, and PDF export. They do not repeatedly bring a deck to the foreground.
PowerPoint automation uses a shared application instance on Windows. To avoid altering or closing a presentation the user is actively working in, the server refuses file-based native work while PowerPoint is already running. The agent should continue with portable creation and defer native rendering or animation work until PowerPoint is closed. target.active: true explicitly opts into the running session, and target.visible: true requests a visible window; neither should be used without the user's consent. Native rendering does not expose an active-session override.
Improving presentation quality
powerpoint_create_designed_presentation provides five widescreen compositions (cover, imageText, statement, comparison, panorama) and two visual styles (editorial, cinematic). panorama pairs a wide scene with an editable title and supporting copy; comparison accepts an optional takeaway to state the conclusion. It uses readable typography and crops supplied images to their frames. Supply relevant, distinct image assets when they help the story; the tool does not generate images or invent content. The lower-level PowerPoint tool remains available for charts, tables, and exact placement. Its image elements support fit: "cover", "contain", or "stretch".
The optional companion Codex skills live under skills/. Install office-presentation-quality for general planning, render review, and revision. Install office-morph-storytelling for cinematic Morph sequences, persistent-object choreography, camera-like pans and zooms, timed playback, and video verification. These skills improve the workflow; they cannot guarantee visual taste or replace a good reference deck. To use the updated server and skills in an existing Codex session, restart that session after rebuilding dist/.
powerpoint_audit_presentation works directly on any PPTX without opening Office. It reports off-slide objects, small explicitly sized text, unusually dense slides, pictures without meaningful alt text, low contrast where both colors are explicit solids, overlapping text boxes, empty slides, and grouped objects it cannot measure reliably. These are review flags, not proof of poor design. The creation tools accept image alt text (altText for custom images, imageAltText for designed layouts); without it, they use a reviewable placeholder rather than leaking a local image path into the deck.
Reusing a PowerPoint template
powerpoint_inspect_template opens an existing .pptx invisibly through desktop PowerPoint and reports its designs, custom layouts, placeholder indexes, and slide shape names. powerpoint_create_from_template can then add slides from those layouts or duplicate existing slides, fill placeholders or named text shapes, add text boxes, and save a separate .pptx. It keeps the source deck untouched and removes its original slides from the output unless keepTemplateSlides is true. Coordinates for new native text boxes are points. This requires Windows desktop PowerPoint and is subject to the quiet-background rule above; it does not import .potx files or offer arbitrary master editing yet.
Word structure and Excel analysis
word_create_document accepts either the original blocks array or a sections array with separate page size/orientation, margins, headers, footers, and page numbers. Blocks can include an updateable toc, a cited_paragraph referring to user-supplied sources, a bibliography, images with required alt text or an explicit decorative flag, hyperlinks, page breaks, and footnotes. Word fills the TOC entries when it updates the field. Citations are formatted document text, not entries in Word's built-in citation manager.
Native Word batches support exact character ranges for insertion, deletion, and formatting; styles and sections; bookmarks, hyperlinks, fields, footnotes, endnotes, and content controls; page setup and section headers/footers; revision listing or accept/reject-all; protection; tables, comments, TOCs, and PDF export. Range offsets use Word's zero-based character positions. Inspect or read the document before targeting a range, and reopen after saving to verify field and layout persistence.
excel_analyze_dataset profiles a sheet or selected range for missing and duplicate rows, column types, descriptive numeric statistics, IQR outliers, top text values, dates, formula/error counts, and strongest Pearson correlations. It analyzes at most 50,000 rows and 100 columns per call. It does not clean the data, infer causation, run statistical tests, or calculate uncached formulas; use native Excel recalculation first when formula results matter.
excel_query_dataset reads up to 50,000 rows and 100 columns, applies typed filters, optionally groups and aggregates (count, countDistinct, sum, average, min, max), sorts, and returns at most 1,000 rows. It never writes back. Native Excel batches additionally support structural row/column edits, merging, sizing and hiding, frozen panes, worksheet copying and visibility, tables and resizing, names, hyperlinks, comments, validation, conditional formatting, charts, pivots, duplicate removal, Goal Seek, sorting/filtering, refresh, protection, print setup, recalculation, and PDF export.
Animations and transitions
On Windows with installed desktop PowerPoint, powerpoint_native_batch can build and revise slides, text, shapes, lines, pictures, media, and tables; align or distribute objects; control z-order and grouping; crop and correct pictures; format complete text frames or selected character runs; add hyperlinks; and hide slides. Call list_shapes to get a shape's stable name or current 1-based index before targeting it.
The animation layer provides named entrance (appear, fade, fly, wipe, zoom), emphasis (spin, growShrink), and exit effects plus an advanced effectId escape hatch for documented MsoAnimEffect values. It supports triggers, duration, delay, repeat, reverse, acceleration/deceleration, text/chart animation levels, sequence ordering, and compound rotation, scale, or motion behaviors. set_transition supports none, cut, fade, left/right push and wipe, zoom-in, and true PowerPoint Morph by object, word, or character. For deterministic Morph matching, give paired shapes the same name beginning with !!, duplicate the slide, then move or resize those shapes on the duplicate. export_video creates an MP4 or WMV and waits for PowerPoint to finish encoding it. Include a save operation and reopen the result to verify persistence.
This is an expanding, validated Office capability set, not a wrapper around every Office command. Arbitrary COM execution is intentionally not exposed. Advanced numeric Office enum values are typed data, not executable code, and may depend on the installed Office version. Animation playback itself is not captured by the static PNG renderer.
Supported clients
The quick start is the shortest route for Windows. The same built server works with any local stdio MCP client that can launch Node.js. Client configuration is separate: adding Office MCP to Codex does not automatically add it to Claude Code.
Codex and ChatGPT desktop
The codex mcp add command in the quick start writes Codex's user configuration, which the ChatGPT desktop app, Codex CLI, and Codex IDE extension share. In ChatGPT desktop, restart after adding the server and type /mcp to inspect it. You can also add it through Settings → MCP servers → Add server → STDIO. ChatGPT web does not read local Codex configuration; this repository does not provide a hosted MCP endpoint. See OpenAI's MCP guide.
Claude Code
The quick start uses Claude Code's user scope, so the server is available in all your local projects. Run claude mcp list or use /mcp inside Claude Code to check its connection. See Claude Code's MCP setup guide.
Other local MCP clients
Configure a stdio server with node as the command, the absolute path to dist/index.js as its argument, and OFFICE_MCP_ROOTS as an environment variable. For example, adapt this JSON to your client's format (the paths shown are placeholders):
{
"command": "node",
"args": ["C:\\absolute\\path\\to\\office-mcp\\dist\\index.js"],
"env": { "OFFICE_MCP_ROOTS": "C:\\allowed\\documents" }
}Installation troubleshooting
Symptom | Check |
| Install Node.js 20+ and open a new terminal; run |
| Install the corresponding client CLI, or use that client's graphical MCP settings. |
Client says the server cannot start | Run |
| Inspect the existing entry with |
A file is rejected as outside allowed roots | Set |
Native animations, Excel recalculation, or PowerPoint rendering are unavailable | These require Windows and installed desktop Microsoft Office. Start by calling |
ChatGPT web cannot see the server | Web chats do not load local stdio MCP configuration; use ChatGPT desktop/Codex or build a separately hosted integration. |
Path security
By default, the server may only access files below its working directory. Set OFFICE_MCP_ROOTS to one or more allowed roots.
On Windows, separate multiple roots with a semicolon:
C:\Users\your-name\Documents;D:\Company FilesThe server resolves every input and output path before use and rejects path traversal outside these roots.
PDF conversion
office_convert_to_pdf uses LibreOffice in headless mode. The server checks standard installation locations and the system PATH. For a custom installation, set:
OFFICE_MCP_SOFFICE=C:\path\to\LibreOffice\program\soffice.exeCall office_capabilities to see whether the converter was detected.
Development
npm run devThe process waits silently for MCP messages on standard input. Do not write logs to standard output because stdout carries the MCP protocol. Diagnostics belong on stderr.
Manual releases
This repository has no GitHub Actions workflows or Dependabot configuration. Nothing runs automatically on pushes or pull requests, and pushing a tag does not create a release or publish to npm. It is a local stdio server, not a hosted Office service.
The public npm package is @parryhotter/office-mcp. Releases are currently published manually. Before publishing a new version, update package.json and the lockfile; run npm run check and npm run smoke; and, on Windows with desktop Office, run npm run test:native. Verify a fresh packaged install and audit the bundled dependencies before running npm publish --access public. Create a matching GitHub Release when publishing a public version. See CONTRIBUTING.md and SECURITY.md.
Important limitations
Native active-document control requires Windows and installed desktop Microsoft Office. Other operating systems are outside the current release scope.
ExcelJS does not support every Excel feature. Re-saving complex workbooks may not preserve unsupported objects such as embedded charts or VBA projects. Prefer a separate
outputPathwhen editing valuable files.Word and PowerPoint replacement can match text split across formatting runs. When a replacement crosses multiple runs, it consolidates the replacement into the first run, so mixed character formatting inside that phrase is not retained.
PowerPoint creation is declarative. Positions and sizes use inches, matching PptxGenJS conventions.
The designed layouts are starting points. Template reuse is available through native PowerPoint but does not import
.potx, edit a master arbitrarily, or automatically judge aesthetics. Inspect renders before delivery.The PPTX audit cannot determine whether text actually fits, whether contrast inherited from a theme or image background is sufficient, or whether the story and aesthetics are strong. Visually inspect rendered slides.
Object animation and slide-transition editing currently requires desktop PowerPoint on Windows. Static slide images verify visual layout, not how effects play during a slideshow.
Background native PowerPoint work can be deferred when PowerPoint is already running. Hidden presentations avoid pop-up windows, but this is not a fully isolated headless PowerPoint service.
Formula values are written but not calculated by Node.js. The workbook is marked for recalculation when opened in Excel.
The server does not offer every command in Microsoft Office, nor does it act as an autonomous design model. Quality still depends on the orchestrating model, source assets, templates, and render review.
Technology
ExcelJS for
.xlsxdocx for document creation
PptxGenJS for presentation creation
JSZip for structure-preserving OOXML inspection and targeted edits
License
MIT
Available Tools
34 toolsexcel_analyze_datasetBRead-onlyIdempotent
Profile an XLSX dataset without changing it: column types, missing values, numeric summaries, duplicate rows, IQR outliers, top categories, and Pearson correlations. Descriptive analysis only; formulas need cached results or native recalculation.
Inputs: path (required), sheet (required), range, maxRows, +2 more.
excel_create_workbookCDestructive
Create a new XLSX workbook with one or more worksheets and tabular data.
Inputs: path (required), sheets (required), creator, overwrite.
excel_inspect_workbookBRead-onlyIdempotent
Inspect workbook metadata, worksheets, dimensions, formulas, and sample rows.
Inputs: path (required), sampleRows.
excel_native_batchBDestructive
Execute an ordered batch through real Microsoft Excel. Supports active or closed workbooks; exact ranges; structural row, column, and sheet edits; native calculation; formatting; tables; charts; pivots; Goal Seek; filtering; validation; protection; print setup; PDF export; and save/save-as.
Inputs: target (required), operations (required), overwrite.
excel_query_datasetBRead-onlyIdempotent
Read-only Excel dataset query with typed filters, group-by summaries, aggregations, sorting, and bounded output. Use for focused analytical questions without changing the workbook.
Inputs: path (required), sheet (required), sort, limit, +6 more.
excel_read_rangeBRead-onlyIdempotent
Read cell values, text, formulas, and optional styles from an XLSX range.
Inputs: path (required), range (required), sheet (required), includeStyles.
excel_set_formulasCDestructive
Set formulas in specific XLSX cells and request recalculation when opened in Excel.
Inputs: path (required), sheet (required), formulas (required), overwrite, +1 more.
excel_write_rangeCDestructive
Write a rectangular matrix of values to an existing XLSX worksheet.
Inputs: path (required), sheet (required), values (required), startCell (required), +5 more.
office_capabilitiesARead-onlyIdempotent
List supported Office operations, path roots, converters, and known limitations.
Inputs: no named parameters.
office_compare_filesARead-onlyIdempotent
Compare two Office files of the same format semantically. Reports removed Word paragraphs, PowerPoint slide content changes, or Excel sheet and cell changes without modifying either file.
Inputs: afterPath (required), beforePath (required), maxChanges.
office_convert_to_pdfBDestructive
Convert an XLSX, DOCX, or PPTX file to PDF using LibreOffice when available.
Inputs: path (required), overwrite, outputPath.
office_export_pdfADestructive
Export XLSX, DOCX, or PPTX to a reviewable PDF using hidden native Microsoft Office on Windows, with optional LibreOffice fallback. This creates a separate file and does not open a visible window.
Inputs: path (required), engine, overwrite, outputPath.
office_finalizeADestructive
Publish a separate XLSX, DOCX, or PPTX only after recomputing machine checks and verifying a complete review of every slide/sheet/document and every prompt criterion against the unchanged file hash. Never overwrites an existing output.
Inputs: path (required), review (required), contract (required), outputPath (required).
office_get_review_imageARead-onlyIdempotent
Return one previously rendered PowerPoint slide as MCP image content, including slides omitted from the initial inline preview. Rejects stale or changed evidence.
Inputs: unit (required), manifestPath (required).
office_inspect_fileCRead-onlyIdempotent
Inspect an XLSX, DOCX, or PPTX file and return a semantic summary.
Inputs: path (required), sampleLimit.
office_list_open_filesARead-onlyIdempotent
List files currently open in running native Excel, Word, and PowerPoint applications.
Inputs: no named parameters.
office_native_statusARead-onlyIdempotent
Detect installed and currently running native Microsoft Excel, Word, and PowerPoint applications on Windows.
Inputs: no named parameters.
office_prepare_reviewBDestructive
Create hashed review evidence for a quality-checked draft: PowerPoint slide PNGs or a Word/Excel PDF, with a source hash and artifact manifest. PowerPoint renders use hidden windows. Inspect every slide or the complete PDF before attesting quality.
Inputs: path (required), contract (required), outputDirectory (required), maxInlineImages.
office_quality_checkARead-onlyIdempotent
Validate an XLSX, DOCX, or PPTX draft against prompt-specific requirements and Office package integrity. Returns the file hash, blocking issues, warnings, and exact units requiring visual or analytical review. Machine checks alone never certify quality.
Inputs: path (required), contract (required).
office_search_filesBRead-onlyIdempotent
Find XLSX, DOCX, and PPTX files inside an allowed directory so an orchestrator can discover relevant Office documents.
Inputs: directory (required), recursive, extensions, maxResults.
powerpoint_audit_presentationARead-onlyIdempotent
Read-only structural PPTX audit for off-slide objects, small explicit text, dense slides, pictures without alt text, and other review flags. This is heuristic; render and visually inspect the deck as well.
Inputs: path (required), minimumFontPoints, denseSlideCharacters.
powerpoint_create_designed_presentationBDestructive
Create a widescreen narrative deck from editorial compositions with readable typography and optional cropped imagery. Prefer this for new story decks; render and critique the result before delivery.
Inputs: path (required), slides (required), style, title, +1 more.
powerpoint_create_from_templateADestructive
Create a new PPTX from an existing deck's masters/layouts or duplicated slides, filling placeholders or named text shapes. Native PowerPoint runs with hidden presentation windows and leaves the source template unchanged.
Inputs: slides (required), outputPath (required), templatePath (required), overwrite, +1 more.
powerpoint_create_presentationCDestructive
Create a PPTX presentation with positioned text, shapes, images, tables, charts, and notes.
Inputs: path (required), slides (required), theme, title, +5 more.
powerpoint_inspect_presentationBRead-onlyIdempotent
Inspect PPTX slide size, text, notes, and object counts.
Inputs: path (required), maxSlides.
powerpoint_inspect_templateARead-onlyIdempotent
Inspect an existing PPTX through hidden desktop PowerPoint to list designs, custom layouts and placeholder indexes for template-based generation. Requires Windows PowerPoint and refuses a running user session by default.
Inputs: templatePath (required).
powerpoint_native_batchBDestructive
Execute an ordered batch through real Microsoft PowerPoint. Supports active or closed presentations; slide, shape, text, picture, line, table, media, alignment, grouping, and z-order editing; hyperlinks; named or advanced animation effects and compound behaviors; true Morph transitions; PDF/video export; and PNG rendering. Use list_shapes before targeting shapes. Prefix paired object names with !! for deterministic Morph matching. Native coordinates are points.
Inputs: target (required), operations (required), overwrite.
powerpoint_render_presentationADestructive
Render a PPTX with real Microsoft PowerPoint and return slide PNGs as MCP images for visual inspection and iterative correction.
Inputs: path (required), outputDirectory (required), width, height, +2 more.
powerpoint_replace_textCDestructive
Replace literal text in PPTX slides, including text split across multiple runs.
Inputs: find (required), path (required), replacement (required), matchCase, +2 more.
word_append_paragraphCDestructive
Append a paragraph to an existing DOCX document while preserving its package.
Inputs: path (required), text (required), style, overwrite, +1 more.
word_create_documentCDestructive
Create a DOCX from sections, headings, paragraphs, lists, tables, a Word-updateable TOC, and source-backed citation text with a bibliography.
Inputs: path (required), title, author, blocks, +3 more.
word_inspect_documentBRead-onlyIdempotent
Inspect DOCX metadata, paragraphs, paragraph styles, and tables.
Inputs: path (required), maxParagraphs.
word_native_batchBDestructive
Execute an ordered batch through real Microsoft Word. Supports active or closed documents; exact character ranges; formatting; tables; styles; fields; bookmarks; links; notes; content controls; headers and footers; revision review; protection; PDF export; and save/save-as.
Inputs: target (required), operations (required), overwrite.
word_replace_textBDestructive
Replace literal text in DOCX paragraphs, including text split across multiple runs.
Inputs: find (required), path (required), replacement (required), matchCase, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 34 tools
Many tools have overlapping purposes: office_inspect_file vs the format-specific inspect tools, office_convert_to_pdf vs office_export_pdf, native batch vs granular editors, and three PowerPoint creation paths. Descriptions help, but an agent must choose among multiple valid entry points for the same outcome, so boundaries are not clean.
Names follow a clear prefix convention (office_, excel_, word_, powerpoint_) and mostly use snake_case verb_noun forms. Minor deviations like office_capabilities, office_native_status, excel_native_batch, and office_finalize keep it from being perfectly uniform.
34 tools is heavy for an Office automation server, well above the 3-15 well-scoped range. Native batch tools already cover broad editing, making many granular tools redundant and inflating the surface.
Coverage spans creation, inspection, reading, writing, conversion, rendering, review, and finalization across XLSX/DOCX/PPTX. Minor gaps exist around file management (delete/rename/move) and some direct structural edits, but native batches largely fill those needs.
Maintenance
Related MCP Connectors
Convert, create and edit Word, PowerPoint, Excel and PDF documents from any AI agent.
Online office suite for AI agents: edit docs, sheets, slides and PDFs in browser or via MCP.
Automate enterprise-grade documents from templates, merge and 100+ conversions: PDF, Office, HTML.
Create and manage documents, spreadsheets, and presentations from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAI-powered Office automation server that enables creating, editing, and processing Word, Excel, and PowerPoint documents through natural language instructions using Python-based libraries.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables processing of Office documents (DOCX, XLSX, PPTX, PDF, Markdown) through 21 tools for reading, creating, editing, converting, comparing, and analyzing documents.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and process office documents locally, including generating branded PDF, Word, Excel, and editable PowerPoint files from templates and themes, plus reading, OCR, form-filling, manipulation, and conversion of PDFs.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables creating, editing, reading, and converting Word, Excel, PowerPoint, PDF, and plain-text documents, including live editing of open Office documents, template-based document generation, and high-fidelity PDF/PNG rendering.3MIT