MCP 서버

Mila

io.github.mila-gg/mcp-server
지식 및 문서 생산성 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

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.
입력 스키마
{'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).
입력 스키마
{'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.
입력 스키마
{'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>").
입력 스키마
{'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.
입력 스키마
{'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).
입력 스키마
{'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".
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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).
입력 스키마
{'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).
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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).
입력 스키마
{'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.
입력 스키마
{'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.
입력 스키마
{'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}
추가됨
append_slides
2026년 9월 17일 12:45 PM
추가됨
delete_slide_presentation
2026년 9월 17일 12:45 PM
추가됨
update_slide_presentation
2026년 9월 17일 12:45 PM
추가됨
create_slide_presentation
2026년 9월 17일 12:45 PM
추가됨
get_slide_presentation
2026년 9월 17일 12:45 PM
추가됨
list_slides
2026년 9월 17일 12:45 PM
추가됨
append_rows
2026년 9월 17일 12:45 PM
추가됨
delete_sheet_tab
2026년 9월 17일 12:45 PM
추가됨
update_sheet_tab
2026년 9월 17일 12:45 PM
추가됨
create_sheet_tab
2026년 9월 17일 12:45 PM
추가됨
get_sheet_tab
2026년 9월 17일 12:45 PM
추가됨
delete_sheet
2026년 9월 17일 12:45 PM
추가됨
update_sheet
2026년 9월 17일 12:45 PM
추가됨
create_sheet
2026년 9월 17일 12:45 PM
추가됨
get_sheet
2026년 9월 17일 12:45 PM
추가됨
list_sheets
2026년 9월 17일 12:45 PM
추가됨
append_to_document
2026년 9월 17일 12:45 PM
추가됨
delete_document
2026년 9월 17일 12:45 PM
추가됨
update_document
2026년 9월 17일 12:45 PM
추가됨
create_document
2026년 9월 17일 12:45 PM
추가됨
get_document
2026년 9월 17일 12:45 PM
추가됨
list_documents
2026년 9월 17일 12:45 PM
추가됨
list_servers
2026년 9월 17일 12:45 PM