Office MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OFFICE_MCP_LOG_LEVEL | No | Logging level (DEBUG, INFO, WARNING, ERROR). | INFO |
| OFFICE_MCP_ALLOWED_ROOTS | No | JSON array or comma-separated list of allowed absolute paths for file operations. | ["<cwd>"] |
| OFFICE_MCP_AUDIT_DB_PATH | No | Path to SQLite audit database (WAL mode enabled). | office_audit.db |
| OFFICE_MCP_SNAPSHOT_DIR_NAME | No | Directory name for pre-mutation .bak snapshots. | .office_snapshots |
| OFFICE_MCP_COM_TIMEOUT_SECONDS | No | Timeout in seconds for individual COM task execution. | 30.0 |
| OFFICE_MCP_ENABLE_VBA_EXECUTION | No | Security flag controlling whether VBA macros are allowed to run. | false |
| OFFICE_MCP_LOCK_TIMEOUT_SECONDS | No | Timeout in seconds for acquiring an exclusive document lock. | 10.0 |
| OFFICE_MCP_MAX_SNAPSHOT_RETENTION | No | Maximum number of snapshots preserved per document directory. | 50 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| excel_openB | Open an existing Excel workbook and inspect metadata |
| excel_create_workbookA | Create a new Excel workbook with custom sheets |
| excel_inspectB | Inspect structural metadata of an Excel workbook |
| excel_read_rangeA | Read a 2D matrix of values and formulas from an Excel range |
| excel_apply_changesetA | Apply an atomic ChangeSet to an Excel workbook with formula verification and rollback |
| excel_export_pdfB | Export an Excel workbook to PDF format |
| word_openB | Open an existing Word document and inspect AST metadata |
| word_create_documentA | Create a new Word document with optional heading title |
| word_inspectB | Inspect structural hierarchy and AST of a Word document |
| word_apply_changesetA | Apply an atomic ChangeSet to a Word document with structural verification and rollback |
| word_export_pdfB | Export a Word document to PDF format |
| powerpoint_openB | Open an existing PowerPoint presentation and inspect metadata |
| powerpoint_create_presentationA | Create a new PowerPoint presentation with aspect ratio (16:9 or 4:3) |
| powerpoint_inspectA | Inspect slides, layout names, shapes, and text frames in a PowerPoint presentation |
| powerpoint_apply_changesetA | Apply an atomic ChangeSet to a PowerPoint presentation with visual bounds checking and rollback |
| powerpoint_render_slideA | Render a slide to a PNG image for visual inspection and multimodal verification |
| powerpoint_export_pdfA | Export a PowerPoint presentation to PDF format |
| office_rollback_documentB | Restore a document to its pre-mutation snapshot backup |
| office_query_audit_logsA | Query recent execution logs from the SQLite audit database |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| spreadsheet-audit | Prompt workflow for auditing an Excel spreadsheet. |
| report-generation | Prompt workflow for generating a professional Word document report. |
| presentation-builder | Prompt workflow for designing a PowerPoint presentation. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_audit_logs_resource | Resource exposing the latest 50 SQLite audit log records as JSON. |
| get_settings_resource | Resource exposing the current server settings and allowed roots. |
TDQS
Scored across 19 tools
Format prefixes make tool groups clear, but within each format `open` and `inspect` heavily overlap: both return metadata or structural information. An agent could easily select the wrong one when trying to examine a document. Other tools like read_range, apply_changeset, and export_pdf are more distinct.
All tools follow a consistent `{scope}_{verb}_{object}` snake_case pattern, such as excel_create_workbook and powerpoint_render_slide. The cross-cutting office_* tools are also predictable and fit the convention. Naming is highly consistent across all 19 tools.
19 tools is slightly above the ideal sweet spot, but the count is justified by three distinct document formats and shared cross-cutting capabilities. Each format has a coherent set of create/open/inspect/apply/export tools, plus PowerPoint rendering, so nothing feels extraneous.
The tool surface covers the core document lifecycle: create, open, inspect/read, mutate via changesets, rollback, export, and audit. The main gaps are minor, such as no explicit save-as or search tool, but agents can work around these with inspect and changeset operations. Overall, the domain is well covered without severe dead ends.