Miro MCP Server Tools
Learn what you can do with Miro's MCP Server via the tools we extend to agents.
Feedback form.
Below are the tools AI Agents can use to create, search, and understand context in your Miro workspace.
With a single prompt, you can create a board for a retro workshop, summarize it and create action items in a Miro table with priorities, assignees, and due dates, or visualize complex ideas in the form of diagrams on your Miro board.
Note that these tools are subject to usage limits.
Tools
| Title | Tool Name | Description | Type | Uses AI Credits |
|---|---|---|---|---|
| Read Board Items | board_list_items | List items on a board with cursor-based pagination, with optional filtering by item type or parent container. | Search / Read | No |
| Find Formats (⚠️ Deprecating soon) | context_explore | Explore high-level items on a Miro board, such as frames, documents, prototypes, tables, and diagrams. | Search / Read | No |
| Summarize Board (⚠️ Deprecating soon) | context_get | Get text context from a Miro board or a specific item on a board. | Search / Read | Yes |
| ⚠️ Create Diagram (Deprecated) | diagram_create | Create a diagram on a Miro board from DSL text. | Write / Update | No |
| ⚠️ Diagram Layout (Deprecated) | diagram_get_dsl | Get the DSL format specification for creating diagrams. | Search / Read | No |
| Create Mermaid Diagram (⚠️ Deprecating soon) | diagram_create_mermaid | Create a Mermaid diagram on a Miro board. | Write / Update | No |
| Update Mermaid Diagram (⚠️ Deprecating soon) | diagram_update_mermaid | Updates a Mermaid diagram on a Miro board. | Write / Update | No |
| Diagram Layout (⚠️ Deprecating soon) | diagram_get_mermaid_instructions | Get the DSL format specification for creating diagrams. | Search / Read | No |
| Create Document (⚠️ Deprecating soon) | doc_create | Create a structured document item on a Miro board. | Write / Update | No |
| Read Documents (⚠️ Deprecating soon) | doc_get | Read the content of a document item from a Miro board. | Search / Read | No |
| Update Document (⚠️ Deprecating soon) | doc_update | Edit content in an existing document item using find-and-replace. | Write / Update | No |
| Image Metadata | image_get_data | Get image metadata and base64-encoded image data for an image item on a Miro board. | Search / Read | No |
| Get Upload URL | image_get_upload_url | Get a temporary, single-use presigned POST URL for uploading an image. | Write / Update | No |
| Download Image | image_get_url | Get a download URL for an image item from a Miro board. | Search / Read | No |
| Create Table (⚠️ Deprecating soon) | table_create | Create a table on a Miro board with specified columns. | Write / Update | No |
| Read Table (⚠️ Deprecating soon) | table_list_rows | Get rows from a Miro table with column metadata and optional filtering. | Search / Read | No |
| Update Table (⚠️ Deprecating soon) | table_sync_rows | Add or update rows in a Miro table using key-based upsert matching. | Write / Update | No |
| Create New Board | board_create | Create a new Miro board. | Write / Update | No |
| Search Boards | board_search_boards | Search and list boards accessible to the current user. | Search / Read | No |
| Create Code Widget | code_widget_create | Create a code widget on a Miro board. | Write / Update | No |
| Delete Code Widget | code_widget_delete | Delete a code widget from a Miro board. | Write / Update | No |
| Read Code Widget | code_widget_get | Read a code widget from a Miro board, including its source code and metadata. | Search / Read | No |
| List Code Widgets | code_widget_list_items | List code widgets on a Miro board. | Search / Read | No |
| Update Code Widget | code_widget_update | Update an existing code widget on a Miro board. | Write / Update | No |
| Read Comments | comment_list_comments | List comments from a Miro board or a specific item on the board. | Search / Read | No |
| Reply to Comment | comment_reply | Add a reply to an existing comment thread on a Miro board. | Write / Update | No |
| Resolve Comment | comment_resolve | Resolve or unresolve a comment thread on a Miro board. | Write / Update | No |
| Upload Image | image_create | Create an image item on a Miro board. | Write / Update | No |
| Create Widgets (⚠️ Deprecating soon) | layout_create | Create multiple board items on a Miro board from DSL text. | Write / Update | No |
| Board Layout (⚠️ Deprecating soon) | layout_get_dsl | Get the DSL format specification for creating board layouts. | Search / Read | No |
| Item Positioning (⚠️ Deprecating soon) | layout_read | Read existing board items and return them as DSL text. | Search / Read | No |
| Update Widgets (⚠️ Deprecating soon) | layout_update | Edit board items using find-and-replace on their DSL representation. | Write / Update | No |
| Create Widgets 🆕 | canvas_create_from_svg | Create multiple board items on a Miro board from SVG. | Write / Update | No |
| Board Layout 🆕 | canvas_get_canvas_composer_skill | Get the SVG format specification for creating board layouts. | Search / Read | No |
| Item Positioning 🆕 | canvas_read_as_svg | Read existing board items and return them as SVG. | Search / Read | No |
| Update Widgets 🆕 | canvas_update_from_svg | Edit board items using find-and-replace on their DSL representation. | Write / Update | No |
| Read Prototype Screens | prototype_read | Read prototype screens from a Miro board, including metadata | Search / Read | No |
| Create Prototype | prototype_create | Create a Miro prototype from one or more HTML screens, using either uploaded HTML tokens (preferred) or inline HTML contents. | Write / Update | No |
🎨 What the canvas tools can do
The canvas tools describe a Miro board as an SVG document. Your agent reads the board as SVG, edits that SVG, and writes it back.
The canvas format handles item types which used to have a dedicated tool, but adds much more functionality than before, such as:
- Diagrams as native diagram widgets, authored in Mermaid inside the SVG. Flowcharts, ERDs, UML class and sequence diagrams.
- Documents with structured content, created, read, and edited in place.
- Tables with typed columns, switchable between table, grid, timeline, and kanban views.
Canvas tools replace layout, diagram, context, and other toolsThe
board_list_items,context_*,layout_*,diagram_*, anddoc_*tools are deprecated and stop working on September 14, 2026. See the deprecation changelog for the full mapping. These new Canvas tools cover content on a board. Images, prototypes, comments, boards, spaces, and sections keep their own tools.
| Tool | When your agent calls it |
|---|---|
canvas_get_canvas_composer_skill | Once per session, before writing anything. Returns the current SVG spec. |
canvas_load_format_skill | On top of the base spec, for format-specific guidance such as diagramming notation. |
canvas_search | To find what is on a board before reading it. Supports an overview mode for a high-level pass. |
canvas_create_from_svg | To create items from an SVG document. |
canvas_read_as_svg | To read existing items back as SVG. Every item carries a stable data-miro-id. |
canvas_update_from_svg | To apply an SVG document as a diff. Creates, updates, and deletes. |
The list below will grow as new widgets ship.Call
canvas_get_canvas_composer_skillfor the authoritative set your agent can use right now.
🆕 New item types and functionality that can be created from Canvas Tools
- Workshop and facilitation widgets such as polls, dot voting, planning-poker estimates, alignment scales, spinners, flip cards, and countdowns.
- Action buttons, text areas, and emojis.
- Images placed from any reachable URL.
- Code widgets with syntax highlighting for languages including Python, TypeScript, SQL, and YAML.
- Embeds and URL previews for linked specs and designs.
- Shapes, text, cards, and custom widgets accept rotation.
- Labels take inline formatting such as bold and italic.
- Creation order controls z-index, so a connector drawn before its nodes sits behind them.
- Your agent can read a frame, change one thing, and write it back without touching anything else.
Two gaps we are closing before September 14_read_as_svgreturns a table row's current state, not its Latest Update history. It also does not yet preserve the filtering and pagination behavior oftable_list_rows. If either matters to your workflow, tell us through the feedback form so we can weigh it before removal.
Updated about 3 hours ago