{"serverId":"mcp-registry/io.github.mila-gg/mcp-server","tools":[{"name":"append_rows","fixed":{"name":"append_rows","description":"Append one or more rows of data to a spreadsheet (sheet, excel, workbook) tab. Use \"rows\" for multiple rows or \"values\" for a single row.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sheet_id","tab_id"],"properties":{"rows":{"type":"array","description":"Multiple rows. Each row is an array of values or an object keyed by column letter, e.g. [[\"Alice\", 30], [\"Bob\", 25]] or [{\"A\": \"Alice\", \"B\": 30}]"},"tab_id":{"type":"string","description":"Tab ID"},"values":{"description":"Single row as an array or column-letter object, e.g. [\"Alice\", 30] or {\"A\": \"Alice\", \"B\": 30}","type":"string"},"sheet_id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: values. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":217,"tokensAfter":222},{"name":"create_document","fixed":{"name":"create_document","description":"Create a new document. Use this when asked to create, write, draft, or compose a document, doc, note, page, article, or word document. Content should be HTML (e.g. \"<p>Hello</p>\").","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title"],"properties":{"title":{"type":"string","description":"Document title"},"content":{"type":"string","description":"HTML content of the document"},"server_id":{"type":"string","description":"Server ID to create in (omit for personal)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":165,"tokensAfter":165},{"name":"create_sheet","fixed":{"name":"create_sheet","description":"Create a new spreadsheet (sheet, excel, workbook) with an initial tab. Use this when asked to create a spreadsheet, table, workbook, tracker, or organize data in rows and columns.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title"],"properties":{"rows":{"type":"number","description":"Number of rows (default 100)"},"cells":{"type":"object","description":"Initial cell data in A1 notation. Each cell is an object with: value (string|number), and optional format: { bold, italic, underline (booleans), color (text hex e.g. \"#FF0000\"), bgColor (background hex), fontSize (number), fontFamily (string), align (\"left\"|\"center\"|\"right\"), numberFormat (\"currency\"|\"percentage\"|\"number\"|\"date\"), decimals (number), currencySymbol (string) }. Example: {\"A1\": {\"value\": \"Name\", \"format\": {\"bold\": true, \"bgColor\": \"#1B3A5C\", \"color\": \"#FFFFFF\"}}}","additionalProperties":{}},"title":{"type":"string","description":"Workbook title"},"columns":{"type":"number","description":"Number of columns (default 26)"},"tab_name":{"type":"string","description":"Name of the first tab (default \"Sheet 1\")"},"server_id":{"type":"string","description":"Server ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":361,"tokensAfter":361},{"name":"create_sheet_tab","fixed":{"name":"create_sheet_tab","description":"Add a new tab to a spreadsheet (sheet, excel, workbook).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sheet_id"],"properties":{"name":{"type":"string","description":"Tab name"},"rows":{"type":"number","description":"Number of rows"},"cells":{"type":"object","description":"Initial cells in A1 notation. Each cell: { value, format?: { bold, italic, underline, color (text hex), bgColor (background hex), fontSize, fontFamily, align, numberFormat, decimals, currencySymbol } }","additionalProperties":{}},"columns":{"type":"number","description":"Number of columns"},"sheet_id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210},{"name":"create_slide_presentation","fixed":{"name":"create_slide_presentation","description":"Create a new slide presentation (slides, powerpoint, deck, keynote). Use this when asked to create a presentation, slide deck, or slideshow. Each slide has \"html\" content and optional \"background\" and \"notes\".","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title"],"properties":{"data":{"type":"array","items":{"type":"object","required":["html"],"properties":{"html":{"type":"string","description":"Slide HTML content"},"notes":{"type":"string","description":"Speaker notes"},"background":{"type":"string","description":"Background CSS"}},"additionalProperties":false},"description":"Array of slide objects"},"theme":{"type":"string","description":"Theme name (default \"default\")"},"title":{"type":"string","description":"Presentation title"},"server_id":{"type":"string","description":"Server ID"},"aspectRatio":{"type":"string","description":"Aspect ratio (default \"16:9\")"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":284,"tokensAfter":284},{"name":"delete_document","fixed":{"name":"delete_document","description":"Permanently delete a document (doc, word, note) by ID.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Document ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"delete_sheet","fixed":{"name":"delete_sheet","description":"Permanently delete a spreadsheet (sheet, excel, workbook) and all its tabs.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"delete_sheet_tab","fixed":{"name":"delete_sheet_tab","description":"Delete a tab from a spreadsheet (sheet, excel, workbook). Cannot delete the last remaining tab.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sheet_id","tab_id"],"properties":{"tab_id":{"type":"string","description":"Tab ID"},"sheet_id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"delete_slide_presentation","fixed":{"name":"delete_slide_presentation","description":"Permanently delete a slide presentation (slides, powerpoint, deck, keynote).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Presentation ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"get_document","fixed":{"name":"get_document","description":"Get a document (doc, word, note, page) by ID, including its full content (title, HTML body, metadata).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Document ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"get_sheet","fixed":{"name":"get_sheet","description":"Get a spreadsheet (sheet, excel, workbook) by ID, including all tabs and their cell data in A1 notation.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"get_sheet_tab","fixed":{"name":"get_sheet_tab","description":"Get a single tab from a spreadsheet (sheet, excel, workbook), including all cell data in A1 notation.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sheet_id","tab_id"],"properties":{"tab_id":{"type":"string","description":"Tab ID"},"sheet_id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"get_slide_presentation","fixed":{"name":"get_slide_presentation","description":"Get a slide presentation (slides, powerpoint, deck, keynote) by ID, including all slide data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Presentation ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"list_documents","fixed":{"name":"list_documents","description":"List all documents (docs, word, notes, pages). Use this when asked to list, find, or search documents, notes, drafts, or written content. Supports pagination, sorting, and filtering by workspace.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"sort":{"enum":["created_at","updated_at","last_edited_at","title"],"type":"string","description":"Sort field"},"limit":{"type":"number","maximum":100,"minimum":1,"description":"Max results (1-100, default 50)"},"order":{"enum":["asc","desc"],"type":"string","description":"Sort order"},"offset":{"type":"number","minimum":0,"description":"Pagination offset (default 0)"},"server_id":{"anyOf":[{"type":"string"},{"type":"string","const":"personal"}],"description":"Filter by server ID, or \"personal\""}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":242,"tokensAfter":242},{"name":"list_servers","fixed":{"name":"list_servers","description":"List all workspaces (servers) you have access to.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"list_sheets","fixed":{"name":"list_sheets","description":"List all spreadsheets (sheets, excel, workbooks) with their tab metadata (no cell data). Use this when asked to list, find, or search spreadsheets, workbooks, tables, or tabular data.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"sort":{"enum":["created_at","updated_at","last_edited_at","title"],"type":"string","description":"Sort field"},"limit":{"type":"number","maximum":100,"minimum":1,"description":"Max results (1-100, default 50)"},"order":{"enum":["asc","desc"],"type":"string","description":"Sort order"},"offset":{"type":"number","minimum":0,"description":"Pagination offset"},"server_id":{"anyOf":[{"type":"string"},{"type":"string","const":"personal"}],"description":"Filter by server ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":230,"tokensAfter":230},{"name":"list_slides","fixed":{"name":"list_slides","description":"List all slide presentations (slides, powerpoint, deck, keynote). Use this when asked to list, find, or search presentations, decks, or slideshows.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"sort":{"enum":["created_at","updated_at","last_edited_at","title"],"type":"string","description":"Sort field"},"limit":{"type":"number","maximum":100,"minimum":1,"description":"Max results (1-100, default 50)"},"order":{"enum":["asc","desc"],"type":"string","description":"Sort order"},"offset":{"type":"number","minimum":0,"description":"Pagination offset"},"server_id":{"anyOf":[{"type":"string"},{"type":"string","const":"personal"}],"description":"Filter by server ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":220,"tokensAfter":220},{"name":"update_document","fixed":{"name":"update_document","description":"Update an existing document (doc, word, note). Supply a new title and/or HTML content to replace the body.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Document ID"},"title":{"type":"string","description":"New title"},"content":{"type":"string","description":"New HTML content (replaces entire document body)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"update_sheet","fixed":{"name":"update_sheet","description":"Update spreadsheet (sheet, excel, workbook) workbook-level properties (currently only title).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id","title"],"properties":{"id":{"type":"string","description":"Sheet (workbook) ID"},"title":{"type":"string","description":"New title"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"update_sheet_tab","fixed":{"name":"update_sheet_tab","description":"Update a spreadsheet (sheet, excel, workbook) tab: merge cells, rename, change color, or resize the grid. Set a cell value to null to clear it.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sheet_id","tab_id"],"properties":{"name":{"type":"string","description":"New tab name"},"rows":{"type":"number","description":"New row count"},"cells":{"type":"object","description":"Cells to update in A1 notation (null clears a cell). Each cell is an object with: value (string|number), and optional format: { bold, italic, underline (booleans), color (text hex e.g. \"#FF0000\"), bgColor (background hex), fontSize (number), fontFamily (string), align (\"left\"|\"center\"|\"right\"), numberFormat (\"currency\"|\"percentage\"|\"number\"|\"date\"), decimals (number), currencySymbol (string) }. Example: {\"A1\": {\"value\": \"Revenue\", \"format\": {\"bold\": true, \"bgColor\": \"#1B3A5C\", \"color\": \"#FFFFFF\"}}}","additionalProperties":{}},"color":{"type":"string","description":"Tab color"},"tab_id":{"type":"string","description":"Tab ID"},"columns":{"type":"number","description":"New column count"},"sheet_id":{"type":"string","description":"Sheet (workbook) ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":359,"tokensAfter":359},{"name":"update_slide_presentation","fixed":{"name":"update_slide_presentation","description":"Update a slide presentation (slides, powerpoint, deck, keynote): title, slide data, theme, or aspect ratio.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","description":"Presentation ID"},"data":{"type":"array","items":{"type":"object","required":["html"],"properties":{"html":{"type":"string","description":"Slide HTML content"},"notes":{"type":"string","description":"Speaker notes"},"background":{"type":"string","description":"Background CSS"}},"additionalProperties":false},"description":"Full replacement array of slide objects"},"theme":{"type":"string","description":"New theme"},"title":{"type":"string","description":"New title"},"aspectRatio":{"type":"string","description":"New aspect ratio"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":244,"tokensAfter":244}],"toolsChanged":21,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}