Mila
Create and manage documents, spreadsheets, and presentations from your AI assistant.
Should I use this
Quality & Safety
Findings (2)
- LOWin append_to_document
- LOWin append_slides
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp-server": {
"url": "https://mcp.mila.gg/"
}
}
}Remote endpoints
https://mcp.mila.gg/streamable-httpWhat it can do
Tool inventory
Tools (23)
🟢list_servers
List all workspaces (servers) you have access to.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_documents(limit, offset, sort, order, server_id)
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",
"properties": {
"limit": {
"type": "number",
"minimum": 1,
"maximum": 100,
"description": "Max results (1-100, default 50)"
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Pagination offset (default 0)"
},
"sort": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"last_edited_at",
"title"
],
"description": "Sort field"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order"
},
"server_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"const": "personal"
}
],
"description": "Filter by server ID, or \"personal\""
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_document(id)
Get a document (doc, word, note, page) by ID, including its full content (title, HTML body, metadata).
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document ID"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_document(title, content, server_id)
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",
"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)"
}
},
"required": [
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_document(id, title, content)
Update an existing document (doc, word, note). Supply a new title and/or HTML content to replace the body.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document ID"
},
"title": {
"type": "string",
"description": "New title"
},
"content": {
"type": "string",
"description": "New HTML content (replaces entire document body)"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_document(id)
Permanently delete a document (doc, word, note) by ID.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document ID"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪append_to_document(id, content)
Append HTML content to the end of an existing document (doc, word, note) without replacing existing content.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document ID"
},
"content": {
"type": "string",
"description": "HTML content to append"
}
},
"required": [
"id",
"content"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_sheets(limit, offset, sort, order, server_id)
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",
"properties": {
"limit": {
"type": "number",
"minimum": 1,
"maximum": 100,
"description": "Max results (1-100, default 50)"
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Pagination offset"
},
"sort": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"last_edited_at",
"title"
],
"description": "Sort field"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order"
},
"server_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"const": "personal"
}
],
"description": "Filter by server ID"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sheet(id)
Get a spreadsheet (sheet, excel, workbook) by ID, including all tabs and their cell data in A1 notation.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Sheet (workbook) ID"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_sheet(title, tab_name, rows, columns, cells, ...)
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",
"properties": {
"title": {
"type": "string",
"description": "Workbook title"
},
"tab_name": {
"type": "string",
"description": "Name of the first tab (default \"Sheet 1\")"
},
"rows": {
"type": "number",
"description": "Number of rows (default 100)"
},
"columns": {
"type": "number",
"description": "Number of columns (default 26)"
},
"cells": {
"type": "object",
"additionalProperties": {},
"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\"}}}"
},
"server_id": {
"type": "string",
"description": "Server ID"
}
},
"required": [
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_sheet(id, title)
Update spreadsheet (sheet, excel, workbook) workbook-level properties (currently only title).
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Sheet (workbook) ID"
},
"title": {
"type": "string",
"description": "New title"
}
},
"required": [
"id",
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_sheet(id)
Permanently delete a spreadsheet (sheet, excel, workbook) and all its tabs.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Sheet (workbook) ID"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sheet_tab(sheet_id, tab_id)
Get a single tab from a spreadsheet (sheet, excel, workbook), including all cell data in A1 notation.
Input Schema
{
"type": "object",
"properties": {
"sheet_id": {
"type": "string",
"description": "Sheet (workbook) ID"
},
"tab_id": {
"type": "string",
"description": "Tab ID"
}
},
"required": [
"sheet_id",
"tab_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_sheet_tab(sheet_id, name, rows, columns, cells)
Add a new tab to a spreadsheet (sheet, excel, workbook).
Input Schema
{
"type": "object",
"properties": {
"sheet_id": {
"type": "string",
"description": "Sheet (workbook) ID"
},
"name": {
"type": "string",
"description": "Tab name"
},
"rows": {
"type": "number",
"description": "Number of rows"
},
"columns": {
"type": "number",
"description": "Number of columns"
},
"cells": {
"type": "object",
"additionalProperties": {},
"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 } }"
}
},
"required": [
"sheet_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_sheet_tab(sheet_id, tab_id, name, color, rows, ...)
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",
"properties": {
"sheet_id": {
"type": "string",
"description": "Sheet (workbook) ID"
},
"tab_id": {
"type": "string",
"description": "Tab ID"
},
"name": {
"type": "string",
"description": "New tab name"
},
"color": {
"type": "string",
"description": "Tab color"
},
"rows": {
"type": "number",
"description": "New row count"
},
"columns": {
"type": "number",
"description": "New column count"
},
"cells": {
"type": "object",
"additionalProperties": {},
"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\"}}}"
}
},
"required": [
"sheet_id",
"tab_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_sheet_tab(sheet_id, tab_id)
Delete a tab from a spreadsheet (sheet, excel, workbook). Cannot delete the last remaining tab.
Input Schema
{
"type": "object",
"properties": {
"sheet_id": {
"type": "string",
"description": "Sheet (workbook) ID"
},
"tab_id": {
"type": "string",
"description": "Tab ID"
}
},
"required": [
"sheet_id",
"tab_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪append_rows(sheet_id, tab_id, rows, values)
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",
"properties": {
"sheet_id": {
"type": "string",
"description": "Sheet (workbook) ID"
},
"tab_id": {
"type": "string",
"description": "Tab ID"
},
"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}]"
},
"values": {
"description": "Single row as an array or column-letter object, e.g. [\"Alice\", 30] or {\"A\": \"Alice\", \"B\": 30}"
}
},
"required": [
"sheet_id",
"tab_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_slides(limit, offset, sort, order, server_id)
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",
"properties": {
"limit": {
"type": "number",
"minimum": 1,
"maximum": 100,
"description": "Max results (1-100, default 50)"
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Pagination offset"
},
"sort": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"last_edited_at",
"title"
],
"description": "Sort field"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"description": "Sort order"
},
"server_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"const": "personal"
}
],
"description": "Filter by server ID"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_slide_presentation(id)
Get a slide presentation (slides, powerpoint, deck, keynote) by ID, including all slide data.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Presentation ID"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_slide_presentation(title, data, theme, aspectRatio, server_id)
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",
"properties": {
"title": {
"type": "string",
"description": "Presentation title"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Slide HTML content"
},
"background": {
"type": "string",
"description": "Background CSS"
},
"notes": {
"type": "string",
"description": "Speaker notes"
}
},
"required": [
"html"
],
"additionalProperties": false
},
"description": "Array of slide objects"
},
"theme": {
"type": "string",
"description": "Theme name (default \"default\")"
},
"aspectRatio": {
"type": "string",
"description": "Aspect ratio (default \"16:9\")"
},
"server_id": {
"type": "string",
"description": "Server ID"
}
},
"required": [
"title"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_slide_presentation(id, title, data, theme, aspectRatio)
Update a slide presentation (slides, powerpoint, deck, keynote): title, slide data, theme, or aspect ratio.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Presentation ID"
},
"title": {
"type": "string",
"description": "New title"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Slide HTML content"
},
"background": {
"type": "string",
"description": "Background CSS"
},
"notes": {
"type": "string",
"description": "Speaker notes"
}
},
"required": [
"html"
],
"additionalProperties": false
},
"description": "Full replacement array of slide objects"
},
"theme": {
"type": "string",
"description": "New theme"
},
"aspectRatio": {
"type": "string",
"description": "New aspect ratio"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_slide_presentation(id)
Permanently delete a slide presentation (slides, powerpoint, deck, keynote).
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Presentation ID"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪append_slides(id, slides, slide, position)
Append one or more slides to an existing presentation (slides, powerpoint, deck, keynote).
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Presentation ID"
},
"slides": {
"type": "array",
"items": {
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Slide HTML content"
},
"background": {
"type": "string",
"description": "Background CSS"
},
"notes": {
"type": "string",
"description": "Speaker notes"
}
},
"required": [
"html"
],
"additionalProperties": false
},
"description": "Array of slides to append"
},
"slide": {
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Slide HTML content"
},
"background": {
"type": "string",
"description": "Background CSS"
},
"notes": {
"type": "string",
"description": "Speaker notes"
}
},
"required": [
"html"
],
"additionalProperties": false,
"description": "Single slide to append"
},
"position": {
"type": "number",
"description": "0-based position to insert at (appends to end if omitted)"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence