This skill teaches how to use Miro MCP tools effectively for creating diagrams, documents, tables, and extracting context from Miro boards. Use when the user asks about Miro capabilities, wants to create content on Miro boards, or needs to work with Miro board data.
From hugin-v0npx claudepluginhub michelve/hugin-marketplace --plugin hugin-v0This skill is limited to using the following tools:
references/tools-reference.mdGuides browser automation with Playwright, Puppeteer, Selenium for e2e testing and scraping. Teaches reliable selectors, auto-waits, isolation to fix flaky tests.
Provides checklists to review code for functionality, quality, security, performance, tests, and maintainability. Use for PRs, audits, team standards, and developer training.
Enforces A/B test setup with gates for hypothesis locking, metrics definition, sample size calculation, assumptions checks, and execution readiness before implementation.
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.
The Miro MCP provides these tool categories:
miro__draft_diagram_new - Generate diagrams from text descriptionsmiro__draft_doc_new - Create markdown documents on boardsmiro__table_create_new - Create tables with text and select columnsmiro__table_sync_rows - Add or update table rowsmiro__board_get_items - List items on a board with filteringmiro__context_get_board_docs - Extract typed documentation from boardsmiro__table_list_rows - Read table data with filteringmiro__board_get_image_data - Get image content from boardsMiro tools accept board URLs directly. Extract board_id and item_id automatically from URLs like:
https://miro.com/app/board/uXjVK123abc=/ - Board URLhttps://miro.com/app/board/uXjVK123abc=/?moveToWidget=3458764612345 - URL with item focusWhen a URL includes moveToWidget or focusWidget parameters, the item_id is extracted automatically.
Use miro__draft_diagram_new to create visual diagrams from text descriptions.
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]
Use x and y coordinates to position diagrams on the board. The board center is (0, 0). When creating multiple diagrams, offset positions to prevent overlap:
Set parent_id to a frame ID to place the diagram inside that frame.
Use miro__draft_doc_new to create Google Docs-style documents on boards.
# H1, ## H2, through ###### H6**text***text*- item1. item[text](url)miro__table_create_new instead)# 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)
Use miro__table_create_new to create tables with typed columns.
Column Types:
Example column configuration:
[
{ "type": "text", "title": "Task" },
{ "type": "text", "title": "Assignee" },
{
"type": "select",
"title": "Status",
"options": [
{ "displayValue": "To Do", "color": "#E0E0E0" },
{ "displayValue": "In Progress", "color": "#FFD700" },
{ "displayValue": "Done", "color": "#00FF00" }
]
},
{
"type": "select",
"title": "Priority",
"options": [
{ "displayValue": "Low", "color": "#90EE90" },
{ "displayValue": "Medium", "color": "#FFA500" },
{ "displayValue": "High", "color": "#FF6347" }
]
}
]
Use miro__table_sync_rows to add or update table data.
Set key_column to match existing rows for updates. Without it, all rows are inserted as new.
{
"key_column": "Task",
"rows": [
{
"cells": [
{ "columnTitle": "Task", "value": "Implement login" },
{ "columnTitle": "Status", "value": "In Progress" },
{ "columnTitle": "Assignee", "value": "Alice" }
]
}
]
}
Use miro__table_list_rows to read table contents. Filter by column value:
filter_by: "Status=In Progress"
Use miro__context_get_board_docs to generate structured documentation from board content.
| Type | Description |
|---|---|
project_summary | High-level overview, recommended starting point |
style_guide | Design tokens, colors, typography |
screen_design_requirements | UI/UX specifications per screen |
screen_functional_requirements | Feature requirements per screen |
general_board_document | Generic board content extraction |
technical_specification | Technical implementation details |
functional_requirements | Business requirements |
non_functional_requirements | Performance, security, scalability |
prototypes | Interactive prototype HTML/CSS |
project_summary to understand board structureitem_id parameterUse miro__board_get_items to explore board contents.
frame - Frames/containerssticky_note - Sticky notescard - Card widgetsshape - Shapestext - Text elementsimage - Imagesdocument - DocumentsSet item_id to a frame ID to list only items within that frame.
Use cursor from previous response to fetch next page. Default limit is capped at 50 when filtering by item_id.
| Task | Tool | Key Parameters |
|---|---|---|
| Create flowchart | draft_diagram_new | board_id, text_description, diagram_type="flowchart" |
| Create document | draft_doc_new | board_id, content (markdown) |
| Create table | table_create_new | board_id, title, columns |
| Add table rows | table_sync_rows | board_id, item_id, rows, key_column |
| Get board summary | context_get_board_docs | board_id, document_types=["project_summary"] |
| List frames | board_get_items | board_id, item_type="frame" |
See tools-reference.md for complete parameter documentation.