SumOffice — real Word and Excel for agents

com.sumofficePublished by sumoffice.comOfficial publisherv0.3.1Updated Oct 24, 2026

Real Word and Excel for agents: open your .docx/.xlsm, read, propose, apply, get it back intact.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFiles & Storage

Overview

AI-generated overview

Lets an assistant open real Word and Excel files, read them, propose edits for approval, and return an intact copy or PDF.

What you can do
Open a demo file or your own .docx/.odt document or .xlsx/.xlsm/.xlsb/.ods workbook, up to 50 MB, from a URL or base64 bytes, in a private session cabin. Describe, read, search and list comments and tracked changes in documents. Describe sheets, read ranges with values and formulas, and find cells in workbooks. Propose paragraph replacements or up to 20 cell edits, then apply the approved proposal to the cabin copy. Inspect VBA modules, macros and Power Query queries read-only, and map the whole workbook model. Save the result as a copy with a 24-hour download link, or export a document as PDF.
When to use it
Useful when an assistant must work on real Office files rather than plain text: reviewing or editing a contract, filling in a spreadsheet, checking formulas, or understanding a macro-heavy workbook before changes. The propose-then-apply flow suits cases where a person wants to approve each change.
Requirements
Remote endpoint over streamable HTTP, or a local Docker image run over stdio with a mounted folder for local paths. No account, no API key and no environment variables. Files up to 50 MB; remote use has a per-address daily quota.
Before you install
Files opened through the server, including local ones, are processed in a short-lived editor session on the SumOffice server and deleted after the session or within 24 hours. Edits only touch the session copy, never the original file; the result comes back as a download link valid for 24 hours. Macros and Power Query are read and preserved but not executed or refreshed. One editor session per document at a time.

Installation

In SourceWeft

  1. Open SumOffice — real Word and Excel for agents in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.sumoffice%2Foffice/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sumoffice-real-word-and-excel-for-agents": {
      "type": "http",
      "url": "https://view.sumoffice.com/mcp"
    }
  }
}

README

SumOffice MCP server — real Word and Excel for agents

One server, two ways to run it. The agent opens your .docx / .xlsx / .xlsm, reads it, proposes a change, you approve, the file comes back intact — Excel and Word open the result without a repair dialog. Macros (VBA) and Power Query travel with the file.

Registry name: com.sumoffice/office · page with proof: https://sumoffice.com/mcp · image: docker.io/hissih/sumoffice-mcp

Remote — nothing to install

https://view.sumoffice.com/mcp (streamable HTTP).

sh
claude mcp add --transport http sumoffice https://view.sumoffice.com/mcp

Clients without HTTP support: npx -y mcp-remote https://view.sumoffice.com/mcp (see examples/).

Local over stdio — local file paths

sh
docker run -i --rm -v "$PWD:/work" hissih/sumoffice-mcp

The server runs on your machine and accepts path in document_open_file (paths under /work). The file itself is opened in a private, short-lived editor session on the SumOffice server and deleted after the session; nothing in the file is executed.

Tools

Documents (.docx)Spreadsheets (.xlsx/.xlsm/.xlsb)Both
document_open_file, document_open, document_describe, document_read, document_find, document_comments, document_propose_replacement → document_applysheet_describe, sheet_read, sheet_find, sheet_propose_edits → sheet_apply, macro_list, macro_read_source, macro_plan, query_list, query_explain, workbook_inspectdocument_save_copy, document_export_pdf

propose_* never writes: it returns a diff for the person or the client to approve; *_apply applies exactly that proposal. Every step is listed in the response, so the agent cannot change a file silently.

Examples

  • examples/claude-desktop.json — Claude Desktop (claude_desktop_config.json), local stdio via Docker.
  • examples/cursor-mcp.json — Cursor (.cursor/mcp.json), remote HTTP.
  • examples/claude-code.sh — Claude Code, both variants.
  • examples/docker-compose.yml — the local server as a compose service with a mounted folder.

What it does not do yet

  • One editor session per document at a time; a second agent on the same file gets read-only.
  • Power Query definitions are preserved, not refreshed, in the server session.
  • Macros are read and routed (which will run natively, which stay in Excel); they are not executed by the MCP server.

Limits and privacy

Free, no account. Remote: per-address daily quota; files are deleted after the session or 24 hours at most, never used for anything else. Details: https://sumoffice.com/app-privacy.html

Licence

This repository (documentation, manifest, examples) is MIT. The server image is free for evaluation and for use with the public endpoint; production use inside an organisation is licensed per application — https://sumoffice.com/download#server. Questions: [email protected]

Source: README.md at commit af52655

Tools

21

document_open

Open a demo document or workbook

Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, queries, gep, vba-web, sqlite, order-desk, onrr, cashflow, pivot, chart, notes, check, xtools. Default is footnotes. For your own file use document_open_file. Opens a separate editor cabin for this session.

Parametersslugrequired

document_open_file

Open your own Word document or Excel workbook

Open YOUR file in a private editor cabin for this session: a .docx/.doc/.odt document or an .xlsx/.xlsm/.xlsb/.xls/.ods workbook, up to 50 MB. Give exactly one of: url (https link the server can fetch), base64 (file bytes; then name with the extension is required). Nothing in the file is executed. The file is kept for 24 hours and then deleted. After opening, use document_* tools for a document or sheet_* / macro_* / query_* / workbook_inspect for a workbook; sheet_propose_edits → sheet_apply and document_propose_replacement → document_apply change the copy in the cabin; document_save_copy returns a download link of the edited file.

Parametersurlnamepathbase64

document_describe

What the document is

Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first.

Takes no parameters.

document_read

Read paragraphs

Paragraph text as a window: from = index of the first paragraph (0-based), count = how many (max 40). The answer carries next — where to continue, null at the end. A missing paragraph is a refusal, not an invention.

Parametersfromrequiredcount

document_find

Find in the document

Paragraphs containing the text (case-insensitive), with snippets around the match.

Parametersqueryrequired

document_comments

Comments and tracked changes

Comments (author, text, anchor, resolved) and tracked changes — up to 50.

Takes no parameters.

document_propose_replacement

Propose replacing one paragraph's text

Propose the full new text of one paragraph (paragraph_index from document_read). Nothing changes yet: the editor core builds the change on a copy and returns before/after plus checks (numbers, dates, links kept). Then call document_apply with the proposal_id. Read the paragraph first.

Parameterstextrequiredreasonparagraph_indexrequired

document_apply

Apply a proposed paragraph replacement

Apply a proposal from document_propose_replacement to the document in this session's cabin (not to your original file). Stale proposal (the document moved on) is refused by the engine — propose again. Repeating an applied proposal is a no-op.

Parametersproposal_idrequired

sheet_describe

Workbook overview: every sheet tab with its used range, the current revision, and the header row of the sheet that is open. Call this first, then pass the tab name you need as "sheet" to sheet_read and sheet_find.

Takes no parameters.

sheet_read

Read a rectangular range like A1:F20 (max 60 rows × 26 columns): values and formulas. Empty cells are omitted. ALWAYS pass "sheet" with the exact tab name when the workbook has more than one sheet — without it you read whichever sheet happens to be open, and the answer will quietly be about the wrong sheet. Call sheet_describe first if you do not know the tab names.

Parametersrangerequiredsheet

sheet_find

Find cells whose value or formula contains the text (case-insensitive) in the used range of a sheet. ALWAYS pass "sheet" with the exact tab name when the workbook has more than one sheet: without it only the sheet that happens to be open is searched.

Parametersqueryrequiredsheet

macro_list

List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing.

Takes no parameters.

macro_read_source

Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing.

Parametersmodulerequiredprocedurerequired

macro_plan

Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget.

Parametersentrypointrequiredactive_sheet

query_list

List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing.

Takes no parameters.

query_explain

Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing.

Parametersnamerequired

workbook_inspect

Map the whole application model of this workbook in one call: sheets; VBA modules, procedures, which can run here and which are blocked and why; event handlers; external objects (CreateObject) and Windows API (Declare) dependencies; project references; Power Query queries; data connections; form controls, ActiveX, embedded objects (preserved). Runs nothing. Call this first for questions like 'how is this workbook built' or 'what does it depend on'.

Takes no parameters.

sheet_propose_edits

Propose new contents for up to 20 cells (formulas like =SUM(B2:B9), or numbers/text). Nothing changes in the workbook: the engine previews the edits on the current revision and reports what would change and whether errors appear; the person decides whether to apply. Read the cells first. Do not overwrite input numbers unless the task says so. Then call sheet_apply with the proposal_id.

Parameterseditsrequiredsheetreason

sheet_apply

Apply proposed cell edits

Apply a proposal from sheet_propose_edits to the workbook in this session's cabin (not to your original file); the engine recalculates. Refused if the workbook revision moved on since the proposal — propose again. Repeating an applied proposal is a no-op.

Parametersproposal_idrequired

document_save_copy

Save a copy of the edited file

Write the document or workbook as it is now in this session's cabin (after applied proposals) to a copy and return a download link valid for 24 hours. Your original file is never touched. A workbook with macros comes back as .xlsm with the VBA project intact; a document keeps its styles, comments and tracked changes.

Parametersinline

document_export_pdf

Render the document to PDF

Lay out the document as it is now in this session's cabin (after applied proposals, or as opened) and return a PDF download link valid for 24 hours, plus the page count. Documents only; for workbooks use document_save_copy.

Takes no parameters.

Version history

2
  1. v0.3.1LatestSep 21, 2026
  2. v0.3.0Sep 20, 2026

Score

100% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts