{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jf7qmqenty2v","handle":"sumoffice-real-word-and-excel-for-agents","url":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents","links":{"self":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents/record.json","html":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents","markdown":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents/record.md","api":"https://wellknown.network/api/v1/agents/sumoffice-real-word-and-excel-for-agents","status":"https://wellknown.network/api/v1/agents/sumoffice-real-word-and-excel-for-agents/status","claim":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents/claim.json","badge":"https://wellknown.network/agents/sumoffice-real-word-and-excel-for-agents/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sumoffice-real-word-and-excel-for-agents/history","tools":"https://wellknown.network/api/v1/agents/sumoffice-real-word-and-excel-for-agents/tools"},"ard":{"identifier":"urn:air:view.sumoffice.com:server:sumoffice-real-word-and-excel-for-agents","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"SumOffice — real Word and Excel for agents","summary":"Real Word and Excel for agents: open your .docx/.xlsm, read, propose, apply, get it back intact.","description":"Real Word and Excel for agents: open your .docx/.xlsm, read, propose, apply, get it back intact.","publisher":{"name":"com.sumoffice","url":null},"homepage":"https://sumoffice.com/mcp","repository":"https://github.com/SumOfficeApp/sumoffice-mcp","version":"0.3.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://view.sumoffice.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"oci:docker.io/hissih/sumoffice-mcp:0.3.1","type":"package_oci","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-21T18:47:22.5886Z","publishedAt":"2026-09-21T18:47:22.5886Z","registryName":"com.sumoffice/office"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":1,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.833,"provenance":"derived"}],"categories":["documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 30m ago.","lastOkAt":"2026-10-13T01:26:51.963Z","lastProbedAt":"2026-10-13T01:26:51.963Z","statusComputedAt":"2026-10-13T01:28:26.228Z","reliability30d":{"probes":75,"successRate":1,"p50Ms":13,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":75,"ok":75,"authBoundaryOk":0,"serviceOk":75,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-13T01:26:51.963Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":27,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T18:31:10.596Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T11:23:51.357Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T04:27:12.558Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":13,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T21:24:40.812Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T14:25:13.966Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":11,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T07:24:07.133Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":11,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T01:22:40.831Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":32,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T19:26:20.730Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T12:29:47.403Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":11,"error":null,"detail":{"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"toolCount":21,"toolsHash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","serverName":"sumoffice-document","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"document_open","description":"Open one of the demo files by name: documents footnotes, comments, forms, rtl, wild-horse, workshop, offer, tools; workbooks workbook, functions, macros, querie"},{"name":"document_open_file","description":"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 "},{"name":"document_describe","description":"Name, pages, paragraphs, words, number of comments and tracked changes, whether track changes is on. For documents; call first."},{"name":"document_read","description":"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 e"},{"name":"document_find","description":"Paragraphs containing the text (case-insensitive), with snippets around the match."},{"name":"document_comments","description":"Comments (author, text, anchor, resolved) and tracked changes — up to 50."},{"name":"document_propose_replacement","description":"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 be"},{"name":"document_apply","description":"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) i"},{"name":"sheet_describe","description":"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 n"},{"name":"sheet_read","description":"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 "},{"name":"sheet_find","description":"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 workbo"},{"name":"macro_list","description":"List VBA modules and runnable macros (entry points) in this workbook with their route and blockers. Runs nothing."},{"name":"macro_read_source","description":"Read the source text of one procedure (module + procedure name from macro_list). Read-only; runs nothing."},{"name":"macro_plan","description":"Plan a macro run without running it: route, whether the engine can run it natively, blockers, instruction budget."},{"name":"query_list","description":"List Power Query queries in this workbook: names, step chain, load target, connections. Reads only; refreshes nothing."},{"name":"query_explain","description":"Explain one Power Query query by name: its steps in order, where it loads, its connection. Reads only; refreshes nothing."},{"name":"workbook_inspect","description":"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;"},{"name":"sheet_propose_edits","description":"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 curr"},{"name":"sheet_apply","description":"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 "},{"name":"document_save_copy","description":"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 orig"},{"name":"document_export_pdf","description":"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 pa"}],"package":null,"toolSurface":{"id":"ts_qdrgjghf88q5","endpointId":"ep_qsew6uh6vr65","hash":"fb264c52f4a23facee0623e0ce06da8e615708648bf0164ee0d396b58bb02173","toolCount":21,"serverName":"sumoffice-document","serverVersion":"0.3.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-23T03:24:14.364Z","lastSeenAt":"2026-10-13T01:26:51.971Z","observations":75,"toolNames":["document_open","document_open_file","document_describe","document_read","document_find","document_comments","document_propose_replacement","document_apply","sheet_describe","sheet_read","sheet_find","macro_list","macro_read_source","macro_plan","query_list","query_explain","workbook_inspect","sheet_propose_edits","sheet_apply","document_save_copy","document_export_pdf"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_qsew6uh6vr65","url":"https://view.sumoffice.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-11T14:25:13.982Z","auth":{"observedAt":"2026-10-11T14:25:13.991Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-11T14:25:14.010Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"view.sumoffice.com","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-02T12:46:11.000Z","validTo":"2026-12-01T12:46:10.000Z","daysToExpiry":49,"sanCount":1,"fingerprint256":"88:04:37:C0:6D:4B:E1:84:59:BA:CB:D3:47:C1:CA:88:CD:05:F6:AD:B7:45:C5:57:23:5E:0A:48:63:20:A5:AE"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.sumoffice/office","url":"https://registry.modelcontextprotocol.io/v0/servers/com.sumoffice%2Foffice","firstSeenAt":"2026-09-23T03:19:43.161Z","fetchedAt":"2026-10-12T09:19:23.373Z","normalizedAt":"2026-10-12T09:19:23.373Z"}]},"firstSeenAt":"2026-09-23T03:19:43.161Z","updatedAt":"2026-10-13T01:29:20.738Z"}