mcpField
M
miro-mcp

miro-mcp

github.com/miroappProductivity164235 installsUpdated 6w ago
Repository

About miro-mcp

miro-mcp documents how Claude Code can work with Miro boards to create, read, and edit visual content. It covers diagrams, documents, tables, and structured context extraction from board items.

Key features

  1. 01Create diagrams from text or Mermaid
  2. 02Create and edit board documents
  3. 03Create, sync, and filter tables
  4. 04Explore board contents and extract context
  5. 05Read image data and download URLs

Use cases

  1. 01Diagramming a process or component structure
  2. 02Extracting details from selected board items
  3. 03Updating and reading structured table data

MCP support

Miro MCP lets Claude interact with Miro boards. The documented tools create and read board content, including diagrams, documents, tables, and images.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/miroapp/miro-ai --skill miro-mcp

After installing, type/miro-mcpin Claude Code to confirm it loaded.

Details

From the project README

Using Miro with Claude Code

What is Miro MCP?

Miro MCP (Model Context Protocol) enables Claude to interact directly with Miro boards. Create diagrams, documents, and tables; read board content; and extract structured documentation from visual designs.

Available Tools

Content Creation
  • diagram_get_dsl - Get the DSL format specification before creating diagrams
  • diagram_create - Generate diagrams from DSL text descriptions
  • doc_create - Create markdown documents on boards
  • table_create - Create tables with text and select columns
  • table_sync_rows - Add or update table rows
Content Reading
  • board_list_items - List items on a board with filtering by type or container
  • context_explore - Discover high-level board contents (frames, documents, prototypes, tables, diagrams)
  • context_get - Extract detailed text context from specific board items
  • table_list_rows - Read table data with column-based filtering
  • image_get_data - Get image content from boards
  • image_get_url - Get download URL for an image
Document Editing
  • doc_get - Read document content and version
  • doc_update - Edit document using find-and-replace

Board URLs and IDs

Miro tools accept board URLs directly. Extract board_id and item_id automatically from URLs like:

  • https://miro.com/app/board/uXjVK123abc=/ - Board URL
  • https://miro.com/app/board/uXjVK123abc=/?moveToWidget=3458764612345 - URL with item focus

When a URL includes moveToWidget or focusWidget parameters, the item_id is extracted automatically.

Creating Diagrams

Use diagram_create to create visual diagrams from text descriptions.

Supported Diagram Types
  • flowchart - Process flows, workflows, decision trees
  • mindmap - Hierarchical ideas, brainstorming
  • uml_class - Class structures, inheritance relationships
  • uml_sequence - Interactions between components over time
  • entity_relationship - Database schemas, data models
Description Formats

Natural language works well:

User registration flow: start -> enter email -> validate email ->
send verification -> user confirms -> create account -> redirect to dashboard

Mermaid notation for precise control:

flowchart TD
    A[Start] --> B{Valid Email?}
    B -->|Yes| C[Send Verification]
    B -->|No| D[Show Error]
    C --> E[Wait for Confirm]
    E --> F[Create Account]
Positioning Items on the Board

Board coordinates use a Cartesian system with center at (0, 0). Positive X goes right, positive Y goes down.

Spacing recommendations:

  • Diagrams: 2000-3000 units apart
  • Documents: 500-1000 units apart
  • Tables: 1500-2000 units apart
Placing in Frames

Set parent_id to a frame ID to place content inside that frame.

Creating Documents

Use doc_create to create Google Docs-style documents on boards.

Supported Markdown
  • Headings: # H1 through ###### H6
  • Bold: **text**
  • Italic: *text*
  • Unordered lists: - item
  • Ordered lists: 1. item
  • Links: [text](url)
Example Document
# Sprint Planning - Week 12

## Goals
- Complete user authentication module
- Fix critical bugs from QA

## Team Assignments
1. **Alice** - Auth backend
2. **Bob** - Frontend integration
3. **Carol** - Bug fixes

## Resources
- [Design specs](https://example.com/specs)
- [API documentation](https://example.com/api)

Working with Tables

Creating Tables

Use table_create to create tables with typed columns. Supports two column types: text for free-form entry and select for dropdowns with predefined color-coded options.

Adding and Updating Rows

Use table_sync_rows to add or update table data. Set key_column to match existing rows for upsert behavior — matching rows are updated, non-matching rows are inserted as new.

Reading Table Data

Use table_list_rows to read table contents. Filter by column value using ColumnName=Value format.

Extracting Board Content

Discovering Board Contents

Use context_explore to get a high-level view of what's on a board — returns frames, documents, prototypes, tables, and diagrams with their URLs and titles.

Getting Item Details

Use context_get to extract detailed content from specific items:

Item TypeReturns
DocumentsHTML markup of the document content
Prototype screensHTML markup representing the UI/layout
Prototype containersAI-generated map of all screens with navigation flow
FramesAI-generated summary of frame contents
TablesFormatted table data
DiagramsAI-generated description and analysis
Workflow
  1. Call context_explore to discover board contents
  2. Identify items of interest from the results
  3. Call context_get with specific item URLs (with moveToWidget parameter)

Browsing Board Items

Use board_list_items to explore board contents. Filter by item type (frame, sticky_note, card, shape, text, image, document, embed) or by container to list items within a specific frame.

Best Practices

For Diagrams
  • Be specific about elements and relationships
  • Specify flow direction (top-down, left-right)
  • Include decision points and conditions
  • Let AI auto-detect diagram type or specify explicitly
For Documents
  • Structure with clear headings
  • Keep content focused and scannable
  • Use lists for multiple items
  • Include links to related resources
For Tables
  • Choose meaningful column names
  • Use select columns for status/priority fields
  • Define clear, distinct option colors
  • Use key_column for idempotent updates
For Context Extraction
  • Start with context_explore to discover board contents
  • Focus on specific frames when boards are large
  • Use context_get with item URLs for detailed content

Quick Reference

TaskTool
Get diagram DSL specdiagram_get_dsl
Create diagramdiagram_create
Create documentdoc_create
Read documentdoc_get
Edit documentdoc_update
Create tabletable_create
Add/update table rowstable_sync_rows
Read table datatable_list_rows
Discover board contentscontext_explore
Extract item detailscontext_get
List board itemsboard_list_items
Get image dataimage_get_data
Get image URLimage_get_url

Comments

Markdown supported