Connect SumOffice — real Word and Excel for agents and your agent gets 21 tools, among them document_apply, document_comments, document_describe. It answers at https://view.sumoffice.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 23 September 2026; the last check, on 6 November 2026, succeeded.
Real Word and Excel for agents: open your .docx/.xlsm, read, propose, apply, get it back intact.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
document_apply | 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-o Inputs: proposal_id |
document_comments | Comments (author, text, anchor, resolved) and tracked changes — up to 50. |
document_describe | Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first. |
document_export_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. |
document_find | Paragraphs containing the text (case-insensitive), with snippets around the match. Inputs: query |
document_open | 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, Inputs: slug |
document_open_file | 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 th Inputs: url, base64, path, name |
document_propose_replacement | 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 wi Inputs: paragraph_index, text, reason |
document_read | 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. Inputs: from, count |
document_save_copy | 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 Inputs: inline |
macro_list | List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing. |
macro_plan | Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget. Inputs: entrypoint, active_sheet |
macro_read_source | Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing. Inputs: module, procedure |
query_explain | Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing. Inputs: name |
query_list | List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing. |
sheet_apply | 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 propo Inputs: 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_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 Inputs: query, sheet |
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 Inputs: edits, sheet, reason |
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 happe Inputs: range, sheet |
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 |
Every block below points at https://view.sumoffice.com/mcp. Pick your client and copy.
claude mcp add --transport http sumoffice-real-word-and-excel-fo https://view.sumoffice.com/mcp
{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://view.sumoffice.com/mcp"]
}
}
}{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"url": "https://view.sumoffice.com/mcp"
}
}
}{
"servers": {
"sumoffice-real-word-and-excel-fo": {
"type": "http",
"url": "https://view.sumoffice.com/mcp"
}
}
}{
"context_servers": {
"sumoffice-real-word-and-excel-fo": {
"url": "https://view.sumoffice.com/mcp"
}
}
}{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"serverUrl": "https://view.sumoffice.com/mcp"
}
}
}{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"url": "https://view.sumoffice.com/mcp"
}
}
}name: SumOffice — real Word and Excel for agents
version: 0.0.1
schema: v1
mcpServers:
- name: SumOffice — real Word and Excel for agents
type: streamable-http
url: https://view.sumoffice.com/mcp{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"httpUrl": "https://view.sumoffice.com/mcp"
}
}
}{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"type": "http",
"url": "https://view.sumoffice.com/mcp"
}
}
}{
"mcpServers": {
"sumoffice-real-word-and-excel-fo": {
"url": "https://view.sumoffice.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fview.sumoffice.com%2Fmcp&type=streamable_http&id=sumoffice-real-word-and-excel-fo&name=SumOffice%20%E2%80%94%20real%20Word%20and%20Excel%20for%20agents
It answered our last check on 6 November 2026 in 47 ms. Over 4 checks since 23 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by sumoffice.com and served from view.sumoffice.com, the vendor's own domain: https://view.sumoffice.com/mcp.
21, as returned by the server's own tools/list on 12 November 2026: document_apply, document_comments, document_describe, document_export_pdf, document_find, document_open, document_open_file, document_propose_replacement, and 13 more.
It answered our last check on 6 November 2026 in 47 ms. Over 4 checks since 23 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://view.sumoffice.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.sumoffice. Endpoint host: view.sumoffice.com. ARD identifier: urn:air:com.sumoffice:mcp:office.
First indexed 20 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.