MCP Office Excel

io.github.dosev-aiPublished by GitHub account dosev-aiv0.7.0Updated Oct 25, 2026

65-tool Excel MCP server. Read, write, format, and export .xlsx files. Windows-first.

Overview

AI-generated overview

A local Windows MCP server that gives an assistant 65 tools to read, write, format, validate and export Excel .xlsx workbooks.

What you can do
Read and inspect workbook contents, with a configurable cap on rows returned per call (default 50). Write cells, create sheets and apply formatting when write mode is enabled. Recalculate workbooks, export to PDF, hydrate templates, build pivot tables and evaluate formulas through COM-backed tools. Validate and export Excel files as part of a governed Office automation suite.
When to use it
Useful when you work with .xlsx files on Windows and want an assistant to inspect, edit, format or export them through structured tool calls rather than manual spreadsheet work. Suited to developer-style Office automation where file access should be limited to chosen directories.
Requirements
Runs locally as a stdio process on Windows 10 or 11 with Python 3.11 or later, installed from the mcp-office package. EXCEL_ALLOWLIST_ROOTS is required and must list the directories the server may access. Write operations need EXCEL_ENABLE_WRITE set to true. COM-backed tools need EXCEL_ENABLE_COM set to true, pywin32 and a local Microsoft Excel installation. An MCP client such as Claude Desktop or VS Code Copilot is needed.
Before you install
Write operations modify workbook files and are only enabled by EXCEL_ENABLE_WRITE; keep the allowlist roots narrow. COM tools drive a locally installed Excel and are Windows-only. The README warns that the PyPI package named excelmcp is an unrelated third party and should not be installed; the suite package is mcp-office. Files stay local, but the MCP client and model may have their own data-handling boundaries.

Installation

In SourceWeft

  1. Open MCP Office Excel in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

MCP Office

Local-first, governed MCP servers for Microsoft Office — built for developers who want to treat Office files the way they treat code.

[License: MIT] [Python 3.11+] [CI] [PyPI] [UAT]


What is this?

MCP Office is a suite of Model Context Protocol servers that expose Microsoft Office capabilities as governed, deterministic tool calls. Each server runs locally on Windows, connects to your MCP client (Claude Desktop, VS Code Copilot, or any MCP-compatible client), and gives you structured control over Office files — without an in-app AI assistant.

This is not a Copilot replacement. It is a developer-first execution layer for Office automation.


Packages

✅ Available now

PackageWhat it doesInstallTools
excelmcpRead, write, style, validate, and export Excel workbookspip install mcp-office65
pptmcpBuild, edit, review, and export PowerPoint presentations. Output Contract framework for machine-verifiable slide specspip install mcp-office51
wordmcpTemplate assembly, tracked-changes support, and structural QA for Word documentspip install mcp-office50

🚧 Coming next

PackageStatus
mailmcpIntegrated into the current source distribution; Windows Outlook UAT and published-artifact verification pending

MailMCP is now included in the repository's single mcp-office source distribution, but the currently published PyPI artifact does not yet claim MailMCP availability. See mailmcp/README.md for source validation while Windows Outlook UAT and release verification remain open.

New packages are added as they complete their proof cycle. See ROADMAP.md.


Quick start

Prerequisites

  • Windows 10 or 11
  • Python 3.11 or later (python --version)
  • Claude Desktop or VS Code with GitHub Copilot
  • Microsoft Office (Excel / PowerPoint / Word) — required for COM-backed tools (styling, PDF export, tracked-changes)
  • Classic Microsoft Outlook desktop — required for MailMCP

Install

PyPI note: excelmcp on PyPI is an unrelated third-party package. Do not pip install excelmcp — that ships you a stranger's code. The published suite package is mcp-office.

bash
pip install mcp-office

Or clone and install the consolidated suite from source (including MailMCP and Windows COM support):

bash
git clone https://github.com/dosev-ai/mcp-office.gitcd mcp-officepython -m venv .venv.venv\Scripts\activatepython -m pip install -e ".[com]"

Configure Claude Desktop

Open %APPDATA%\Claude\claude_desktop_config.json (create it if it doesn't exist) and add the servers you installed:

json
{  "mcpServers": {    "excel-excelmcp": {      "command": "python",      "args": ["-m", "excelmcp.server"],      "env": {        "EXCEL_ALLOWLIST_ROOTS": "C:\\path\\to\\your\\files",        "EXCEL_ENABLE_WRITE": "true"      }    },    "powerpoint-pptmcp": {      "command": "python",      "args": ["-m", "pptmcp.server"],      "env": {        "PPT_ALLOWLIST_ROOTS": "C:\\path\\to\\your\\files",        "PPT_ENABLE_WRITE": "true"      }    },    "word-wordmcp": {      "command": "python",      "args": ["-m", "wordmcp.server"],      "env": {        "WORD_ALLOWLIST_ROOTS": "C:\\path\\to\\your\\files",        "WORD_ENABLE_WRITE": "true"      }    }  }}

Replace C:\\path\\to\\your\\files with the directory where your Office files live. Restart Claude Desktop after saving.

Verify

In Claude Desktop, send:

Call capabilities() on excel-excelmcpCall capabilities() on powerpoint-pptmcpCall capabilities() on word-wordmcp

Each should return a tool list (65 for Excel, 51 for PowerPoint, 50 for Word). If a server is missing, check that python resolves to the venv where you installed mcp-office.

Full per-package guides: excelmcp/README.md · pptmcp/README.md · wordmcp/README.md · mailmcp/README.md (source-integrated; release pending)

Detailed step-by-step: docs/quickstart.md


Requirements

RequirementNotes
Windows 10 or 11COM automation requires Windows
Python 3.11+python --version to confirm
Microsoft OfficeRequired for COM-dependent tools (styling, PDF export, tracked-changes). Read-only docx/xlsx/pptx tools work without Office.
Classic Outlook desktopRequired for MailMCP. MailMCP remains release-pending until Windows Outlook UAT and published-artifact verification pass.
MCP clientClaude Desktop or VS Code with Copilot

Architecture

Your MCP client (Claude Desktop / VS Code Copilot / other)        │        │  MCP stdio protocol        ↓  MCP Office servers (local Python processes)   ├─ excelmcp    — Excel automation (live)   ├─ pptmcp      — PowerPoint automation (live)   ├─ wordmcp     — Word automation (live)   └─ mailmcp     — Outlook automation (source-integrated; release pending)        │        │  COM / Outlook COM / openpyxl / python-pptx / python-docx        ↓  Microsoft Office (local installation)

Each server is a standalone local stdio MCP process. MCP Office does not add a hosted service; Microsoft Office and your MCP client/model may still have their own sync and data-handling boundaries.


Contributing

This project is in active development. The best way to contribute right now:

  1. Try any package (excelmcp, pptmcp, wordmcp) and open a First Run Report
  2. Report bugs via GitHub Issues
  3. Ask questions or share what you built in GitHub Discussions

See CONTRIBUTING.md for development guidelines.


License

MIT — see LICENSE.

Source: README.md at commit d8f84dd

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.7.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts