このMCPでできること
Reads and edits formula-backed workbook documents, validates formulas, recalculates dependent cells, and exports WorkPaper JSON.
ツール
入力スキーマ
{'type': 'object', 'properties': {'includeConfig': {'type': 'boolean', 'default': True, 'description': 'Include workbook configuration metadata in the exported JSON. Defaults to true.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['document', 'serializedBytes'], 'properties': {'document': {'type': 'object', 'description': 'Persisted WorkPaper JSON document.'}, 'sourcePath': {'type': 'string'}, 'serializedBytes': {'type': 'number'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['sheetName', 'address'], 'properties': {'address': {'type': 'string', 'description': 'Single A1 cell address such as B3.'}, 'sheetName': {'type': 'string', 'description': 'Existing sheet name.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['address', 'displayValue'], 'properties': {'address': {'type': 'string'}, 'displayValue': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['writable', 'sheets'], 'properties': {'sheets': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'dimensions'], 'properties': {'id': {'type': 'number'}, 'name': {'type': 'string'}, 'dimensions': {'type': 'object', 'description': 'Current used rows and columns for the sheet.'}}}}, 'writable': {'type': 'boolean', 'description': 'Whether set_cell_contents persists edits back to the source JSON file.'}, 'sourcePath': {'type': 'string', 'description': 'Absolute JSON file path when the server was started with --workpaper.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['sheetName', 'address'], 'properties': {'address': {'type': 'string', 'description': 'Single A1 cell address such as B3.'}, 'sheetName': {'type': 'string', 'description': 'Existing sheet name.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['address', 'value', 'serialized', 'formula', 'displayValue', 'formulaDiagnostics'], 'properties': {'value': {'description': 'Calculated cell value.'}, 'address': {'type': 'string', 'description': 'Canonical sheet-qualified A1 address.'}, 'formula': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Formula text without losing the original calculated value context, or null for literal cells.'}, 'serialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'displayValue': {'type': 'string', 'description': 'Formatted value as a user would see it.'}, 'formulaDiagnostics': {'type': 'array', 'description': 'Structured formula diagnostics. Empty when the cell has no formula error.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['range'], 'properties': {'range': {'type': 'string', 'description': 'A1 range such as Summary!A1:B5. If omitted from the range, pass sheetName separately.'}, 'sheetName': {'type': 'string', 'description': 'Default sheet name when range omits a sheet name, for example Summary.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['range', 'values', 'serialized'], 'properties': {'range': {'type': 'string', 'description': 'Canonical A1 range including the sheet name.'}, 'values': {'type': 'array', 'description': 'Two-dimensional array of evaluated cell values.'}, 'serialized': {'type': 'array', 'description': 'Two-dimensional array of raw serialized cell contents, including formulas.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['sheetName', 'address', 'value'], 'properties': {'value': {'type': 'string', 'description': 'Raw cell content. Formula strings must start with =; plain strings are stored as literals. Strict MCP hosts such as Semantic Kernel require a single parameter type, so pass evaluated numbers/booleans as formulas such as =0.4 or =TRUE(). The server still accepts JSON number, boolean, or null arguments from clients that support them.'}, 'address': {'type': 'string', 'description': 'Single A1 cell address such as B3. Ranges are not accepted.'}, 'sheetName': {'type': 'string', 'description': 'Existing sheet name, for example Inputs.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['editedCell', 'before', 'after', 'restored', 'persistence', 'checks'], 'properties': {'after': {'type': 'object', 'required': ['address', 'value', 'serialized', 'formula', 'displayValue', 'formulaDiagnostics'], 'properties': {'value': {'description': 'Calculated cell value.'}, 'address': {'type': 'string', 'description': 'Canonical sheet-qualified A1 address.'}, 'formula': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Formula text without losing the original calculated value context, or null for literal cells.'}, 'serialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'displayValue': {'type': 'string', 'description': 'Formatted value as a user would see it.'}, 'formulaDiagnostics': {'type': 'array', 'description': 'Structured formula diagnostics. Empty when the cell has no formula error.'}}, 'additionalProperties': False}, 'before': {'type': 'object', 'required': ['address', 'value', 'serialized', 'formula', 'displayValue', 'formulaDiagnostics'], 'properties': {'value': {'description': 'Calculated cell value.'}, 'address': {'type': 'string', 'description': 'Canonical sheet-qualified A1 address.'}, 'formula': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Formula text without losing the original calculated value context, or null for literal cells.'}, 'serialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'displayValue': {'type': 'string', 'description': 'Formatted value as a user would see it.'}, 'formulaDiagnostics': {'type': 'array', 'description': 'Structured formula diagnostics. Empty when the cell has no formula error.'}}, 'additionalProperties': False}, 'checks': {'type': 'object', 'required': ['persisted', 'restoredMatchesAfter', 'previousSerialized', 'newSerialized'], 'properties': {'persisted': {'type': 'boolean'}, 'newSerialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'previousSerialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'restoredMatchesAfter': {'type': 'boolean', 'description': 'True when exported and re-imported JSON preserves the edited cell readback.'}}}, 'restored': {'type': 'object', 'required': ['address', 'value', 'serialized', 'formula', 'displayValue', 'formulaDiagnostics'], 'properties': {'value': {'description': 'Calculated cell value.'}, 'address': {'type': 'string', 'description': 'Canonical sheet-qualified A1 address.'}, 'formula': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Formula text without losing the original calculated value context, or null for literal cells.'}, 'serialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'displayValue': {'type': 'string', 'description': 'Formatted value as a user would see it.'}, 'formulaDiagnostics': {'type': 'array', 'description': 'Structured formula diagnostics. Empty when the cell has no formula error.'}}, 'additionalProperties': False}, 'editedCell': {'type': 'string', 'description': 'Canonical sheet-qualified address that was edited.'}, 'persistence': {'type': 'object', 'required': ['persisted', 'serializedBytes'], 'properties': {'path': {'type': 'string'}, 'persisted': {'type': 'boolean'}, 'serializedBytes': {'type': 'number'}}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['sheetName', 'address', 'value', 'readbackRange'], 'properties': {'value': {'type': 'string', 'description': 'Raw cell content. Formula strings must start with =; plain strings are stored as literals. Strict MCP hosts require a single parameter type, so pass evaluated numbers/booleans as formulas such as =0.4 or =TRUE(). The server still accepts JSON number, boolean, or null arguments from clients that support them.'}, 'address': {'type': 'string', 'description': 'Single A1 cell address to edit, such as B3. Ranges are not accepted.'}, 'sheetName': {'type': 'string', 'description': 'Existing sheet name for the cell to edit, for example Inputs.'}, 'readbackRange': {'type': 'string', 'description': 'Dependent A1 range to read before and after the edit, for example Summary!A1:B5.'}, 'readbackSheetName': {'type': 'string', 'description': 'Default sheet name when readbackRange omits a sheet name.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['editedCell', 'readbackRange', 'before', 'after', 'beforeReadback', 'afterReadback', 'restoredReadback', 'persistence', 'checks'], 'properties': {'after': {'type': 'object', 'required': ['address', 'value', 'serialized', 'formula', 'displayValue', 'formulaDiagnostics'], 'properties': {'value': {'description': 'Calculated cell value.'}, 'address': {'type': 'string', 'description': 'Canonical sheet-qualified A1 address.'}, 'formula': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Formula text without losing the original calculated value context, or null for literal cells.'}, 'serialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'displayValue': {'type': 'string', 'description': 'Formatted value as a user would see it.'}, 'formulaDiagnostics': {'type': 'array', 'description': 'Structured formula diagnostics. Empty when the cell has no formula error.'}}, 'additionalProperties': False}, 'before': {'type': 'object', 'required': ['address', 'value', 'serialized', 'formula', 'displayValue', 'formulaDiagnostics'], 'properties': {'value': {'description': 'Calculated cell value.'}, 'address': {'type': 'string', 'description': 'Canonical sheet-qualified A1 address.'}, 'formula': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Formula text without losing the original calculated value context, or null for literal cells.'}, 'serialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'displayValue': {'type': 'string', 'description': 'Formatted value as a user would see it.'}, 'formulaDiagnostics': {'type': 'array', 'description': 'Structured formula diagnostics. Empty when the cell has no formula error.'}}, 'additionalProperties': False}, 'checks': {'type': 'object', 'required': ['persisted', 'readbackChanged', 'restoredReadbackMatchesAfter', 'previousSerialized', 'newSerialized'], 'properties': {'persisted': {'type': 'boolean'}, 'newSerialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'readbackChanged': {'type': 'boolean', 'description': 'True when the dependent readback values differ after the edit.'}, 'previousSerialized': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}], 'description': 'Raw serialized cell content; formulas are strings that start with =.'}, 'restoredReadbackMatchesAfter': {'type': 'boolean', 'description': 'True when exported and re-imported JSON preserves the dependent readback range.'}}}, 'editedCell': {'type': 'string', 'description': 'Canonical sheet-qualified address that was edited.'}, 'persistence': {'type': 'object', 'required': ['persisted', 'serializedBytes'], 'properties': {'path': {'type': 'string'}, 'persisted': {'type': 'boolean'}, 'serializedBytes': {'type': 'number'}}}, 'afterReadback': {'type': 'object', 'required': ['range', 'values', 'serialized'], 'properties': {'range': {'type': 'string', 'description': 'Canonical A1 range including the sheet name.'}, 'values': {'type': 'array', 'description': 'Two-dimensional array of evaluated cell values.'}, 'serialized': {'type': 'array', 'description': 'Two-dimensional array of raw serialized cell contents, including formulas.'}}, 'additionalProperties': False}, 'readbackRange': {'type': 'string', 'description': 'Canonical sheet-qualified range read before and after the edit.'}, 'beforeReadback': {'type': 'object', 'required': ['range', 'values', 'serialized'], 'properties': {'range': {'type': 'string', 'description': 'Canonical A1 range including the sheet name.'}, 'values': {'type': 'array', 'description': 'Two-dimensional array of evaluated cell values.'}, 'serialized': {'type': 'array', 'description': 'Two-dimensional array of raw serialized cell contents, including formulas.'}}, 'additionalProperties': False}, 'restoredReadback': {'type': 'object', 'required': ['range', 'values', 'serialized'], 'properties': {'range': {'type': 'string', 'description': 'Canonical A1 range including the sheet name.'}, 'values': {'type': 'array', 'description': 'Two-dimensional array of evaluated cell values.'}, 'serialized': {'type': 'array', 'description': 'Two-dimensional array of raw serialized cell contents, including formulas.'}}, 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['formula'], 'properties': {'formula': {'type': 'string', 'description': 'Formula string including the leading =, for example =SUM(Inputs!B2:B4).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['formula', 'valid'], 'properties': {'valid': {'type': 'boolean'}, 'formula': {'type': 'string'}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
Wakatime
Provides WakaTime coding-activity data, including durations, projects, commits, goals, heartbeats, editor usage, leaders, and use…
Timeapi Io
Provides timezone and date utilities, along with routed access to structured research and data sources.
roadflow
Creates and shares roadmap graphs, and manages structured model registers containing parameters, observations, formulas, dictiona…
DeskMonitor
Supports workforce attendance, timesheets, employee management, team hours, productivity reporting, workload alerts, approvals, a…
netcafe-docs
Extracts and validates data from PDFs, invoices, bank statements, tables, and CSVs; also supports web research, document conversi…
SumOffice — real Word and Excel for agents
Reads and edits Word documents and Excel workbooks while preserving document structure, formulas, macros, comments, tracked chang…
Ouro Tools
Creates charts and PDFs, extracts tables and webpage text, manages forms and feeds, and provides temporary document and webhook s…