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
- - Get the DSL format specification before creating diagrams
- - Generate diagrams from DSL text descriptions
- - Create markdown documents on boards
- - Create tables with text and select columns
- - Add or update table rows
Content Reading
- - List items on a board with filtering by type or container
- - Discover high-level board contents (frames, documents, prototypes, tables, diagrams)
- - Extract detailed text context from specific board items
- - Read table data with column-based filtering
- - Get image content from boards
- - Get download URL for an image
Document Editing
- - Read document content and version
- - 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
or
parameters, the item_id is extracted automatically.
Creating Diagrams
Use
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
. 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
to a frame ID to place content inside that frame.
Creating Documents
Use
to create Google Docs-style documents on boards.
Supported Markdown
- Headings: through
- Bold:
- Italic:
- Unordered lists:
- Ordered lists:
- Links:
Example Document
markdown
# 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
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
to add or update table data. Set
to match existing rows for upsert behavior — matching rows are updated, non-matching rows are inserted as new.
Reading Table Data
Use
to read table contents. Filter by column value using
format.
Extracting Board Content
Discovering Board Contents
Use
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
to extract detailed content from specific items:
| Item Type | Returns |
|---|
| Documents | HTML markup of the document content |
| Prototype screens | HTML markup representing the UI/layout |
| Prototype containers | AI-generated map of all screens with navigation flow |
| Frames | AI-generated summary of frame contents |
| Tables | Formatted table data |
| Diagrams | AI-generated description and analysis |
Workflow
- Call to discover board contents
- Identify items of interest from the results
- Call with specific item URLs (with moveToWidget parameter)
Browsing Board Items
Use
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 to discover board contents
- Focus on specific frames when boards are large
- Use with item URLs for detailed content
Quick Reference
| Task | Tool |
|---|
| Get diagram DSL spec | |
| Create diagram | |
| Create document | |
| Read document | |
| Edit document | |
| Create table | |
| Add/update table rows | |
| Read table data | |
| Discover board contents | |
| Extract item details | |
| List board items | |
| Get image data | |
| Get image URL | |