SumOffice — real Word and Excel for agents

com.sumoffice由 sumoffice.com 發布官方發布者v0.3.1更新於 Oct 24, 2026

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

已驗證Streamable HTTP可網頁執行效率與工作流檔案與儲存

概覽

AI 產生的概覽

讓助理開啟真實的 Word 與 Excel 檔案,讀取內容、提出修改建議供確認,並回傳完好的副本或 PDF。

可以做什麼
開啟示範檔案或自己的 .docx/.odt 文件、.xlsx/.xlsm/.xlsb/.ods 活頁簿(最大 50 MB),來源可為 URL 或 base64 位元組,在本次工作階段的私有編輯區中處理。概述、讀取、尋找文件段落,並列出註解與追蹤修訂。概述工作表、讀取範圍的值與公式、在活頁簿中尋找儲存格。提出段落替換或最多 20 個儲存格的修改建議,確認後再套用到編輯區副本。以唯讀方式檢視 VBA 模組、巨集與 Power Query 查詢,並一次梳理整個活頁簿模型。將結果另存為副本並提供 24 小時有效的下載連結,或將文件匯出為 PDF。
適用情境
適合助理需要處理真實 Office 檔案而非純文字的情境:審閱或修改合約、填寫試算表、核對公式,或在改動前了解含大量巨集的活頁簿。先建議後套用的流程適合需要逐項人工確認的場合。
執行需求
可透過 streamable HTTP 連線遠端端點,或以 Docker 映像搭配掛載資料夾在本機以 stdio 執行以使用本機路徑。不需帳號、API 金鑰或環境變數。檔案最大 50 MB;遠端使用有依位址的每日配額。
安裝前請注意
透過伺服器開啟的檔案(包括本機檔案)會在 SumOffice 伺服器上的短期編輯工作階段中處理,並於工作階段結束後或 24 小時內刪除。修改只作用於工作階段副本,不會更動原始檔案;結果以 24 小時有效的下載連結回傳。巨集與 Power Query 只被讀取和保留,不會執行或重新整理。同一份文件同時只允許一個編輯工作階段。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SumOffice — real Word and Excel for agents,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.sumoffice%2Foffice/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "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]

來源:README.md,提交 af52655

工具

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.

輸入參數slug必填

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.

輸入參數urlnamepathbase64

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.

無需輸入參數。

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.

輸入參數from必填count

document_find

Find in the document

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

輸入參數query必填

document_comments

Comments and tracked changes

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

無需輸入參數。

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.

輸入參數text必填reasonparagraph_index必填

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.

輸入參數proposal_id必填

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.

無需輸入參數。

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.

輸入參數range必填sheet

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.

輸入參數query必填sheet

macro_list

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

無需輸入參數。

macro_read_source

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

輸入參數module必填procedure必填

macro_plan

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

輸入參數entrypoint必填active_sheet

query_list

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

無需輸入參數。

query_explain

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

輸入參數name必填

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'.

無需輸入參數。

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.

輸入參數edits必填sheetreason

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.

輸入參數proposal_id必填

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.

輸入參數inline

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.

無需輸入參數。

版本歷史

2
  1. v0.3.1最新Sep 21, 2026
  2. v0.3.0Sep 20, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分