# SumOffice — real Word and Excel for agents (oci · docker.io/hissih/sumoffice-mcp:0.3.0)

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

- Trust score: 31/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `view.sumoffice.com`: 23/100, [markdown](https://verifymcp.io/servers/com-sumoffice-office/view.md), [page](https://verifymcp.io/servers/com-sumoffice-office/view)
- oci · `docker.io/hissih/sumoffice-mcp:0.3.0`: 31/100 (this document), [markdown](https://verifymcp.io/servers/com-sumoffice-office/docker-io-hissih-sumoffice-mcp-0-3-0.md), [page](https://verifymcp.io/servers/com-sumoffice-office/docker-io-hissih-sumoffice-mcp-0-3-0)

## Channel facts

- Registry: `oci`
- Package: `docker.io/hissih/sumoffice-mcp:0.3.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
- **Provenance & Transparency**: 6/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 0 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1515 tokens (~72/item across 21 items; 21 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 72/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 15% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the SumOffice — real Word and Excel for agents MCP server?

SumOffice — real Word and Excel for agents runs locally as a container image, launched with docker run --rm -i docker.io/hissih/sumoffice-mcp:0.3.0. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add com-sumoffice-office -- docker run --rm -i docker.io/hissih/sumoffice-mcp:0.3.0
```

### Cursor

```json
{
  "mcpServers": {
    "com-sumoffice-office": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/hissih/sumoffice-mcp:0.3.0"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-sumoffice-office": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/hissih/sumoffice-mcp:0.3.0"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add com-sumoffice-office -- docker run --rm -i docker.io/hissih/sumoffice-mcp:0.3.0
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-sumoffice-office": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/hissih/sumoffice-mcp:0.3.0"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  com-sumoffice-office:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/hissih/sumoffice-mcp:0.3.0"]
```

### Netclaw

```json
{
  "McpServers": {
    "com-sumoffice-office": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "docker.io/hissih/sumoffice-mcp:0.3.0"
      ]
    }
  }
}
```

### Other

```json
{
  "mcpServers": {
    "com-sumoffice-office": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/hissih/sumoffice-mcp:0.3.0"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 31)

First indexed and scored.

## MCP tools (21)

### `document_open` (~72 tokens)

Open a demo document or workbook

Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop; workbooks workbook, functions, xtools. Default is footnotes. For your own file use document_open_file. Opens a separate editor cabin for this session.

Input parameters:

- `slug` (string, required)

### `document_open_file` (~200 tokens)

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), path (a file on this machine). 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.

Input parameters:

- `base64` (string)
- `name` (string)
- `path` (string)
- `url` (string)

### `document_describe` (~36 tokens)

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` (~73 tokens)

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.

Input parameters:

- `count` (integer)
- `from` (integer, required)

### `document_find` (~31 tokens)

Find in the document

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

Input parameters:

- `query` (string, required)

### `document_comments` (~27 tokens)

Comments and tracked changes

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

### `document_propose_replacement` (~91 tokens)

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.

Input parameters:

- `paragraph_index` (integer, required)
- `reason` (string)
- `text` (string, required)

### `document_apply` (~68 tokens)

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.

Input parameters:

- `proposal_id` (string, required)

### `sheet_describe` (~57 tokens)

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` (~124 tokens)

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.

Input parameters:

- `range` (string, required)
- `sheet` (string): Exact tab name, e.g. "Logical". Required when the workbook has more than one sheet.

### `sheet_find` (~89 tokens)

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.

Input parameters:

- `query` (string, required)
- `sheet` (string): Exact tab name. Required when the workbook has more than one sheet.

### `macro_list` (~30 tokens)

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

### `macro_read_source` (~45 tokens)

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

Input parameters:

- `module` (string, required)
- `procedure` (string, required)

### `macro_plan` (~51 tokens)

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

Input parameters:

- `active_sheet` (string)
- `entrypoint` (string, required): Module.Procedure

### `query_list` (~33 tokens)

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

### `query_explain` (~43 tokens)

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

Input parameters:

- `name` (string, required)

### `workbook_inspect` (~102 tokens)

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` (~114 tokens)

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.

Input parameters:

- `edits` (array, required)
- `reason` (string)
- `sheet` (string)

### `sheet_apply` (~71 tokens)

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.

Input parameters:

- `proposal_id` (string, required)

### `document_save_copy` (~99 tokens)

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.

Input parameters:

- `inline` (boolean): also return the bytes as base64 (only for files up to 4 MB)

### `document_export_pdf` (~59 tokens)

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.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/com-sumoffice-office/docker-io-hissih-sumoffice-mcp-0-3-0#diagnostics

## Score history

- 2026-09-20: 31

## Common questions

### What is the SumOffice — real Word and Excel for agents MCP server?

SumOffice — real Word and Excel for agents is an MCP server listed in the public MCP registry as com.sumoffice/office. Real Word and Excel for agents: open your .docx/.xlsm, read, propose, apply, get it back intact. This page covers its container image (docker.io/hissih/sumoffice-mcp:0.3.0).

### Is the SumOffice — real Word and Excel for agents MCP server safe to use?

SumOffice — real Word and Excel for agents scores 31 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the SumOffice — real Word and Excel for agents MCP server expose?

SumOffice — real Word and Excel for agents exposes 21 tools: document_open, document_open_file, document_describe, document_read, document_find, and 16 more. Their descriptions and schemas cost roughly 1,515 tokens of context every time the server is loaded.

## Links

- Website: https://sumoffice.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-sumoffice-office/docker-io-hissih-sumoffice-mcp-0-3-0.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-sumoffice-office/docker-io-hissih-sumoffice-mcp-0-3-0.json
- HTML version of this page: https://verifymcp.io/servers/com-sumoffice-office/docker-io-hissih-sumoffice-mcp-0-3-0
