Skip to main content
Glama

Server Details

Official Miro MCP server (Beta) - Supports context to code and creating diagrams & visualizations.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
miroapp/miro-ai
GitHub Stars
7

Available Tools

14 tools
board_get_image_dataTry in Inspector

Get image data for an image item from a Miro board.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idNoThe image item ID, or a full Miro image URL. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
board_get_image_download_urlTry in Inspector

Get image download URL for an image item from a Miro board.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idNoThe image item ID, or a full Miro image URL. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
board_get_itemsTry in Inspector

List items on a board with cursor-based pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesMax items per page (10-1000). Capped at 50 when item_id is specified.
cursorNoOpaque cursor for next page
item_idNoID of parent container to filter items. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
item_typeNoFilter items by type. Use to get items of a specific type like images, cards, etc.
context_exploreTry in Inspector

Explore high-level items on a Miro board. Returns a list of frames, documents, prototypes (interactive design mockups with multiple UI screens), individual prototype screens, tables, and diagrams with their URLs and titles. Use this to discover what's on a board before retrieving detailed content with context_get.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_urlYesThe full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). Accepts URLs with moveToWidget or focusWidget query parameters to scope items to a specific container.
context_getTry in Inspector

Get text context from a specific item on a Miro board. The URL must include the moveToWidget parameter to identify the item. For documents: returns HTML markup of the document content. For prototype screens: returns HTML markup representing the UI/layout of that specific screen within an interactive design prototype. For prototype containers: returns AI-generated map of all screens with navigation flow. For frames: generates AI summary of frame contents. For tables: returns formatted table data. For diagrams: returns AI-generated description and analysis of the diagram structure.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_urlYesMiro board URL with moveToWidget or focusWidget parameter identifying the item. Example: https://miro.com/app/board/uXjVGeTCXKY=/?moveToWidget=3458764654510025479
diagram_create_newTry in Inspector

Create a diagram on a Miro board from DSL (Domain-Specific Language) text. PREREQUISITE: Call diagram_get_dsl_spec first to obtain the DSL format specification for the diagram type you want to create. Then generate DSL text following that specification and pass it to this tool. Supported diagram types: flowchart, uml_class, uml_sequence, entity_relationship. Use x and y coordinates to position the diagram on the board.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX-axis coordinate for diagram placement on the board. The center of the board is at x=0. Use different x values to prevent diagrams from overlapping when creating multiple diagrams.
yNoY-axis coordinate for diagram placement on the board. The center of the board is at y=0. Use different y values to prevent diagrams from overlapping when creating multiple diagrams.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
parent_idNoID of a parent frame to attach the diagram to. When specified, the diagram will be placed inside the frame. Leave empty to place the diagram directly on the canvas.
diagram_dslYesDSL text defining the diagram. Must follow the format specification obtained from diagram_get_dsl_spec. The DSL describes diagram elements, their relationships, colors, and layout hints.
diagram_typeYesType of diagram to create. Options: 'flowchart' for process flows and workflows, 'uml_class' for UML class diagrams, 'uml_sequence' for UML sequence diagrams, 'entity_relationship' for ERD diagrams. Must match the diagram_type used in diagram_get_dsl_spec.
diagram_get_dsl_specTry in Inspector

Get the DSL (Domain-Specific Language) format specification for a diagram type. Returns the rules, syntax, color guidelines, and examples needed to write valid DSL for creating diagrams. Supported diagram types: flowchart, uml_class, uml_sequence, entity_relationship. REQUIRED: Call this before calling diagram_create_new to understand the expected DSL format. When creating multiple diagrams of the same type in a conversation, you only need to call diagram_get_dsl_spec once and reuse the format specification for subsequent diagrams.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idYesThe unique identifier (ID) of the Miro board.
diagram_typeYesType of diagram to get the DSL format for. Options: 'flowchart' for process flows and workflows, 'uml_class' for UML class diagrams showing class structures and inheritance, 'uml_sequence' for UML sequence diagrams showing interactions over time, 'entity_relationship' for ERD database schema diagrams.
doc_editTry in Inspector

Edit content in an existing doc format item using find-and-replace. Provide the exact text to find (old_content) and the text to replace it with (new_content). By default, only the first occurrence is replaced. Use replace_all=true to replace all occurrences.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idNoThe doc item ID. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
new_contentNoThe text to replace old_content with. Can be empty to delete the found text.
old_contentNoThe exact text to find in the document. Must match exactly - read the document first to get the precise text.
replace_allNoIf true, replaces all occurrences of old_content. If false (default), replaces only the first occurrence.
doc_newTry in Inspector

Create a doc format item (structured document similar to Google Docs) on a Miro board. Content uses markdown syntax: # headings, bold, italic, - lists, links. NOT supported: code blocks, tables. Supports positioning via x/y coordinates and can be placed inside frames.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX-axis coordinate for document placement on the board. The center of the board is at x=0. Use different x values to prevent documents from overlapping when creating multiple items.
yNoY-axis coordinate for document placement on the board. The center of the board is at y=0. Use different y values to prevent documents from overlapping when creating multiple items.
contentNoThe content of the document in markdown format. Supported: # headings (h1-h6), **bold**, *italic*, - unordered lists, 1. ordered lists, [links](url). NOT supported: code blocks, tables.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
parent_idNoID of a parent frame to attach the document to. When specified, the document will be placed inside the frame. Leave empty to place the document directly on the canvas.
doc_readTry in Inspector

Read the content of a doc format item from a Miro board. Returns the markdown content and content version for use in subsequent edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idNoThe doc item ID. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
draft_doc_newTry in Inspector

Create a doc format item (structured document similar to Google Docs) on a Miro board. Content uses markdown syntax: # headings, bold, italic, - lists, links. NOT supported: code blocks, tables. Supports positioning via x/y coordinates and can be placed inside frames.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX-axis coordinate for document placement on the board. The center of the board is at x=0. Use different x values to prevent documents from overlapping when creating multiple items.
yNoY-axis coordinate for document placement on the board. The center of the board is at y=0. Use different y values to prevent documents from overlapping when creating multiple items.
contentNoThe content of the document in markdown format. Supported: # headings (h1-h6), **bold**, *italic*, - unordered lists, 1. ordered lists, [links](url). NOT supported: code blocks, tables.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
parent_idNoID of a parent frame to attach the document to. When specified, the document will be placed inside the frame. Leave empty to place the document directly on the canvas.
table_create_newTry in Inspector

Create a table on a Miro board with specified columns. Supports text and select column types.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe title/name of the table
columnsYesList of columns to create. At least one column must be provided. Column types: 1. Text columns: Simple text fields 2. Select columns: Dropdown menus with predefined options - Each option needs a displayValue and color (hex code) Examples: [ {"type": "text", "title": "Title"}, {"type": "text", "title": "Description"}, { "type": "select", "title": "Status", "options": [ {"displayValue": "To Do", "color": "#FF0000"}, {"displayValue": "In Progress", "color": "#FFA500"}, {"displayValue": "Done", "color": "#00FF00"} ] } ]
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
table_list_rowsTry in Inspector

Get rows from a Miro table with columns metadata. Supports filtering by column value. Returns text and select columns only.

Pagination: Use 'limit' to control page size (default 10) and 'next_cursor' to fetch subsequent pages. The cursor is opaque and encodes pagination state.

IMPORTANT: Do not change 'filter_by' when using a cursor from a previous response, as this will result in an error. To apply a different filter, start a new pagination sequence (no cursor).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows to return (minimum 1)
item_idNoTable ID. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
filter_byNoFilter rows by column value (case-insensitive). Include the column name and the display value of the option. Only select columns are supported. Example: "Status=In progress"
next_cursorNoPagination cursor for the next set of results
table_sync_rowsTry in Inspector

Add or update existing table rows.To update existing rows, include the value of the column that identifies the row (usually Title or Task). If a row cannot be found, a new row will be created.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYesArray of rows to add or update. [{ "cells": [ {"columnTitle": "Task", "value": "Write tests"}, {"columnTitle": "Status", "value": "To Do"} ] }]
item_idNoTable ID. Auto-extracted from moveToWidget/focusWidget URL query params if board_id is a URL and not explicitly provided in the tool call.
board_idYesThe Miro board ID or a full Miro board URL (e.g., 'https://miro.com/app/board/iAjCCakxOk1='). URLs with moveToWidget or focusWidget query parameters will have item_id auto-extracted if not explicitly provided in the tool call.
key_columnNoColumn name to use as key for matching rows. If provided, rows with matching key column values will be updated. If omitted, all rows will be inserted as new. Example: "Task" or "Title"

FAQ

How do I claim this server?

To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:

{ "$schema": "https://glama.ai/mcp/schemas/connector.json", "maintainers": [ { "email": "your-email@example.com" } ] }

The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.

What are the benefits of claiming a server?
  • Control your server's listing on Glama, including description and metadata
  • Receive usage reports showing how your server is being used
  • Get monitoring and health status updates for your server
Try in Browser

Your Connectors

Sign in to create a connector for this server.