MCP Server

Mila

io.github.mila-gg/mcp-server
Knowledge & Documentation Productivity Public & reachable MCP 2025-11-25

What this MCP does

Creates, reads, updates, and deletes documents, spreadsheets, spreadsheet tabs, and slide presentations.

append_rows
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.
Input schema
{'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}'}, 'sheet_id': {'type': 'string', 'description': 'Sheet (workbook) ID'}}, 'additionalProperties': False}
append_slides
Append one or more slides to an existing presentation (slides, powerpoint, deck, keynote).
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Presentation ID'}, 'slide': {'type': 'object', 'required': ['html'], 'properties': {'html': {'type': 'string', 'description': 'Slide HTML content'}, 'notes': {'type': 'string', 'description': 'Speaker notes'}, 'background': {'type': 'string', 'description': 'Background CSS'}}, 'description': 'Single slide to append', 'additionalProperties': False}, 'slides': {'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 slides to append'}, 'position': {'type': 'number', 'description': '0-based position to insert at (appends to end if omitted)'}}, 'additionalProperties': False}
append_to_document
Append HTML content to the end of an existing document (doc, word, note) without replacing existing content.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'content'], 'properties': {'id': {'type': 'string', 'description': 'Document ID'}, 'content': {'type': 'string', 'description': 'HTML content to append'}}, 'additionalProperties': False}
create_document
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>").
Input schema
{'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}
create_sheet
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.
Input schema
{'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}
create_sheet_tab
Add a new tab to a spreadsheet (sheet, excel, workbook).
Input schema
{'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}
create_slide_presentation
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".
Input schema
{'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}
delete_document
Permanently delete a document (doc, word, note) by ID.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document ID'}}, 'additionalProperties': False}
delete_sheet
Permanently delete a spreadsheet (sheet, excel, workbook) and all its tabs.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Sheet (workbook) ID'}}, 'additionalProperties': False}
delete_sheet_tab
Delete a tab from a spreadsheet (sheet, excel, workbook). Cannot delete the last remaining tab.
Input schema
{'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}
delete_slide_presentation
Permanently delete a slide presentation (slides, powerpoint, deck, keynote).
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Presentation ID'}}, 'additionalProperties': False}
get_document
Get a document (doc, word, note, page) by ID, including its full content (title, HTML body, metadata).
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document ID'}}, 'additionalProperties': False}
get_sheet
Get a spreadsheet (sheet, excel, workbook) by ID, including all tabs and their cell data in A1 notation.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Sheet (workbook) ID'}}, 'additionalProperties': False}
get_sheet_tab
Get a single tab from a spreadsheet (sheet, excel, workbook), including all cell data in A1 notation.
Input schema
{'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}
get_slide_presentation
Get a slide presentation (slides, powerpoint, deck, keynote) by ID, including all slide data.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Presentation ID'}}, 'additionalProperties': False}
list_documents
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.
Input schema
{'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}
list_servers
List all workspaces (servers) you have access to.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_sheets
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.
Input schema
{'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}
list_slides
List all slide presentations (slides, powerpoint, deck, keynote). Use this when asked to list, find, or search presentations, decks, or slideshows.
Input schema
{'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}
update_document
Update an existing document (doc, word, note). Supply a new title and/or HTML content to replace the body.
Input schema
{'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}
update_sheet
Update spreadsheet (sheet, excel, workbook) workbook-level properties (currently only title).
Input schema
{'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}
update_sheet_tab
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.
Input schema
{'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}
update_slide_presentation
Update a slide presentation (slides, powerpoint, deck, keynote): title, slide data, theme, or aspect ratio.
Input schema
{'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}
Added
append_slides
Sept. 17, 2026, 12:45 p.m.
Added
delete_slide_presentation
Sept. 17, 2026, 12:45 p.m.
Added
update_slide_presentation
Sept. 17, 2026, 12:45 p.m.
Added
create_slide_presentation
Sept. 17, 2026, 12:45 p.m.
Added
get_slide_presentation
Sept. 17, 2026, 12:45 p.m.
Added
list_slides
Sept. 17, 2026, 12:45 p.m.
Added
append_rows
Sept. 17, 2026, 12:45 p.m.
Added
delete_sheet_tab
Sept. 17, 2026, 12:45 p.m.
Added
update_sheet_tab
Sept. 17, 2026, 12:45 p.m.
Added
create_sheet_tab
Sept. 17, 2026, 12:45 p.m.
Added
get_sheet_tab
Sept. 17, 2026, 12:45 p.m.
Added
delete_sheet
Sept. 17, 2026, 12:45 p.m.
Added
update_sheet
Sept. 17, 2026, 12:45 p.m.
Added
create_sheet
Sept. 17, 2026, 12:45 p.m.
Added
get_sheet
Sept. 17, 2026, 12:45 p.m.
Added
list_sheets
Sept. 17, 2026, 12:45 p.m.
Added
append_to_document
Sept. 17, 2026, 12:45 p.m.
Added
delete_document
Sept. 17, 2026, 12:45 p.m.
Added
update_document
Sept. 17, 2026, 12:45 p.m.
Added
create_document
Sept. 17, 2026, 12:45 p.m.
Added
get_document
Sept. 17, 2026, 12:45 p.m.
Added
list_documents
Sept. 17, 2026, 12:45 p.m.
Added
list_servers
Sept. 17, 2026, 12:45 p.m.