Install
$ agentstack add skill-michelve-hugin-cowork-miro-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
The Miro MCP provides these tool categories:
Content Creation
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 rows
Content Reading
miro__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 boards
Board URLs and IDs
Miro tools accept board URLs directly. Extract boardid and itemid automatically from URLs like:
https://miro.com/app/board/uXjVK123abc=/- Board URLhttps://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 miro__draft_diagram_new 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 Diagrams
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:
- First diagram: x=0, y=0
- Second diagram: x=2000, y=0
- Third diagram: x=0, y=1500
Placing in Frames
Set parent_id to a frame ID to place the diagram inside that frame.
Creating Documents
Use miro__draft_doc_new to create Google Docs-style documents on boards.
Supported Markdown
- Headings:
# H1,## H2, through###### H6 - Bold:
**text** - Italic:
*text* - Unordered lists:
- item - Ordered lists:
1. item - Links:
[text](url)
Not Supported
- Code blocks
- Tables (use
miro__table_create_newinstead) - Images
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 miro__table_create_new to create tables with typed columns.
Column Types:
- text - Free-form text entry
- select - Dropdown with predefined options (requires color for each option)
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" }
]
}
]
Adding/Updating Rows
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" }
]
}
]
}
Reading Table Data
Use miro__table_list_rows to read table contents. Filter by column value:
filter_by: "Status=In Progress"
Extracting Board Documentation
Use miro__context_get_board_docs to generate structured documentation from board content.
Document Types
| 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 |
Workflow
- Start with
project_summaryto understand board structure - Based on recommendations, request specific document types
- Filter to specific frames using
item_idparameter
Browsing Board Items
Use miro__board_get_items to explore board contents.
Filtering by Type
frame- Frames/containerssticky_note- Sticky notescard- Card widgetsshape- Shapestext- Text elementsimage- Imagesdocument- Documents
Filtering by Container
Set item_id to a frame ID to list only items within that frame.
Pagination
Use cursor from previous response to fetch next page. Default limit is capped at 50 when filtering by item_id.
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 project_summary
- Focus on specific frames when boards are large
- Request multiple document types for comprehensive coverage
Quick Reference
| Task | Tool | Key Parameters | | ----------------- | ------------------------ | ---------------------------------------------------- | | Create flowchart | draft_diagram_new | boardid, textdescription, diagramtype="flowchart" | | Create document | draft_doc_new | boardid, content (markdown) | | Create table | table_create_new | boardid, title, columns | | Add table rows | table_sync_rows | boardid, itemid, rows, keycolumn | | Get board summary | context_get_board_docs | boardid, documenttypes=["projectsummary"] | | List frames | board_get_items | boardid, item_type="frame" |
See [tools-reference.md](references/tools-reference.md) for complete parameter documentation.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: michelve
- Source: michelve/hugin-cowork
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.