miro-mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited miro-mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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 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 dashboardMermaid 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.