io.github.olgasafonova/miro-mcp-server

平台与服务

by olgasafonova

Miro whiteboard integration with 30+ tools for boards, shapes, and diagrams.

什么是 io.github.olgasafonova/miro-mcp-server

Miro whiteboard integration with 30+ tools for boards, shapes, and diagrams.

README

Miro MCP Server

Run your Miro workshops, retros, and planning sessions from the command line. Read boards, create stickies, organize frames, and generate diagrams through Claude, Cursor, or any MCP client.

Community project — Not officially affiliated with Miro. See official options below.

91 tools | Single binary | All platforms | All major AI tools

CI Go Report Card License: MIT MCP Context

<video src="https://github.com/user-attachments/assets/a27c535e-f3b5-4a3a-ac3c-bea5fe7ebd0b" width="100%" autoplay loop muted playsinline></video>


Documentation

DocumentDescription
QUICKSTART.mdGet running in 2 minutes
SETUP.mdFull setup for all AI tools
CONFIG.mdConfiguration reference
PERFORMANCE.mdOptimization guide
CHANGELOG.mdVersion history
ERRORS.mdError handling & troubleshooting

Quick Start

1. Install

Homebrew (macOS/Linux):

bash
brew tap olgasafonova/tap && brew install miro-mcp-server

One-liner (macOS/Linux):

bash
curl -fsSL https://raw.githubusercontent.com/olgasafonova/miro-mcp-server/main/install.sh | sh

Docker:

bash
docker pull ghcr.io/olgasafonova/miro-mcp-server:latest

Manual download: See SETUP.md for all platforms

2. Get a Miro Token

  1. Go to miro.com/app/settings/user-profile/apps
  2. Create an app with boards:read and boards:write permissions
  3. Install to your team and copy the token

3. Configure Your AI Tool

Claude Code:

bash
claude mcp add miro -e MIRO_ACCESS_TOKEN=your-token -- miro-mcp-server

Claude Desktop / Cursor / VS Code: See SETUP.md

Cursor Marketplace:

bash
/add-plugin miro

Not working? Tell us what made it hard — even one sentence helps.


What You Can Do

CategoryExamples
BoardsCreate, copy, delete, update, share, list members
ItemsSticky notes, shapes, text, cards, app cards, images, documents, frames, docs
DiagramsGenerate flowcharts and sequence diagrams from Mermaid
DocsCreate and manage Markdown documents on boards
UploadUpload and replace local image and document files on boards
TablesDiscover and inspect tables on boards
MindmapsCreate mindmap nodes with parent-child relationships
Bulk OpsCreate multiple items at once, sticky grids
TagsCreate, attach, update, and organize with tags
GroupsGroup, list, and manage item groups
ConnectorsConnect items with styled arrows
ExportBoard thumbnails, PDF/SVG export (Enterprise)

Voice Examples

  • "Add a yellow sticky saying 'Review PRs'"
  • "Create a flowchart: Start → Decision → End"
  • "What boards do I have?"
  • "Share the Design board with jane@example.com"
  • "Create a mindmap with 'Project Ideas' as root"

All 91 Tools

<details> <summary><b>Board Management (9)</b></summary>
ToolDescription
miro_list_boardsList accessible boards
miro_find_boardFind board by name
miro_get_boardGet board details
miro_get_board_summaryGet board stats and item counts
miro_get_board_contentGet all board content for AI analysis
miro_create_boardCreate a new board
miro_copy_boardCopy an existing board
miro_update_boardUpdate board name/description
miro_delete_boardDelete a board
</details> <details> <summary><b>Board Members (5)</b></summary>
ToolDescription
miro_list_board_membersList users with access
miro_get_board_memberGet member details
miro_share_boardShare board via email
miro_update_board_memberUpdate member role
miro_remove_board_memberRemove member from board
</details> <details> <summary><b>Create Items (18)</b></summary>
ToolDescription
miro_create_stickyCreate a sticky note
miro_create_sticky_gridCreate stickies in a grid layout
miro_create_shapeCreate a shape (rectangle, circle, etc.)
miro_create_flowchart_shapeCreate flowchart shape (experimental API)
miro_create_textCreate text element
miro_create_frameCreate a frame container
miro_create_cardCreate a card with due date
miro_create_app_cardCreate app card with custom fields
miro_create_imageAdd image from URL
miro_upload_imageUpload local image file
miro_upload_documentUpload local document file (PDF, DOCX, etc.)
miro_create_docCreate Markdown document
miro_create_documentAdd document from URL
miro_create_embedEmbed YouTube, Figma, etc.
miro_create_connectorConnect two items with arrow
miro_create_groupGroup items together
miro_create_mindmap_nodeCreate mindmap node
miro_bulk_createCreate multiple items at once
</details> <details> <summary><b>Frames (4)</b></summary>
ToolDescription
miro_get_frameGet frame details
miro_update_frameUpdate frame title/color/size
miro_delete_frameDelete a frame
miro_get_frame_itemsList items inside a frame
</details> <details> <summary><b>Mindmaps (3)</b></summary>
ToolDescription
miro_get_mindmap_nodeGet node details
miro_list_mindmap_nodesList all mindmap nodes
miro_delete_mindmap_nodeDelete a mindmap node
</details> <details> <summary><b>Read Items (8)</b></summary>
ToolDescription
miro_list_itemsList items on a board
miro_list_all_itemsGet ALL items with auto-pagination
miro_get_itemGet item details
miro_get_imageGet image details and Miro-hosted URL
miro_get_documentGet document details and Miro-hosted URL
miro_get_app_cardGet app card details
miro_get_docGet Markdown document content
miro_search_boardSearch items by content
</details> <details> <summary><b>Update & Delete Items (18)</b></summary>
ToolDescription
miro_update_itemUpdate item content/position/color
miro_update_stickyUpdate sticky note (shape, color)
miro_update_shapeUpdate shape (fill, text color, type)
miro_update_textUpdate text element
miro_update_cardUpdate card fields
miro_update_imageUpdate image properties
miro_update_image_from_fileReplace image file on existing item
miro_update_documentUpdate document properties
miro_update_document_from_fileReplace document file on existing item
miro_update_embedUpdate embed properties
miro_update_groupUpdate group properties
miro_update_app_cardUpdate app card fields
miro_bulk_updateUpdate multiple items at once
miro_delete_itemDelete an item
miro_delete_app_cardDelete an app card
miro_update_docUpdate document content (full or find-and-replace)
miro_delete_docDelete a Markdown document
miro_bulk_deleteDelete multiple items at once
</details> <details> <summary><b>Tags (9)</b></summary>
ToolDescription
miro_create_tagCreate a tag
miro_list_tagsList all tags on board
miro_get_tagGet tag details by ID
miro_attach_tagAttach tag to item
miro_detach_tagRemove tag from item
miro_get_item_tagsGet tags on an item
miro_get_items_by_tagGet all items with a specific tag
miro_update_tagUpdate tag name/color
miro_delete_tagDelete a tag
</details> <details> <summary><b>Connectors (4)</b></summary>
ToolDescription
miro_list_connectorsList all connectors
miro_get_connectorGet connector details
miro_update_connectorUpdate connector style/caption
miro_delete_connectorDelete a connector
</details> <details> <summary><b>Groups (4)</b></summary>
ToolDescription
miro_list_groupsList all groups on board
miro_get_groupGet group details
miro_get_group_itemsList items in a group
miro_delete_groupDelete or ungroup a group
</details> <details> <summary><b>Export (4)</b></summary>
ToolDescription
miro_get_board_pictureGet board thumbnail
miro_create_export_jobExport to PDF/SVG (Enterprise)
miro_get_export_job_statusCheck export progress
miro_get_export_job_resultsGet download links
</details> <details> <summary><b>Tables (2)</b></summary>
ToolDescription
miro_list_tablesList tables (data_table_format) on a board
miro_get_tableGet table metadata by ID
</details> <details> <summary><b>Diagrams & Audit (2)</b></summary>
ToolDescription
miro_generate_diagramCreate diagram from Mermaid syntax
miro_get_audit_logQuery local execution log
</details>

Diagram Generation

Create flowcharts and sequence diagrams from Mermaid syntax:

Flowchart:

code
flowchart TB
    A[Start] --> B{Decision}
    B -->|Yes| C[Success]
    B -->|No| D[Retry]
    D --> B

Sequence Diagram:

code
sequenceDiagram
    Alice->>Bob: Hello Bob!
    Bob-->>Alice: Hi Alice!

Supported: flowchart/graph, sequenceDiagram, directions (TB/LR/BT/RL), shapes ([] rectangle, {} diamond, (()) circle), labeled edges.


Why This Server?

FeatureThis ServerTypeScript alternatives
RuntimeSingle binaryRequires Node.js
Size~14MB100MB+ with node_modules
Startup~50ms500ms-2s
Memory~10MB idle~50MB idle
Diagram generationBuilt-in Mermaid parserAI-based
Rate limitingAutomatic with backoffManual
Caching2-minute TTLNone
Circuit breakerYesNo

Official vs Community

Miro released their official MCP server in December 2025. Here's how they compare:

FeatureThis ServerOfficial Miro MCP
Last changelog entryApril 2026January 2026
Tools9115 (13 tools + 2 prompts)
Transportstdio + HTTPHTTPS only (hosted)
Self-hostingYesNo
Offline modeYesNo
AuthToken + OAuth2OAuth 2.1 (admin approval)
Diagram generationMermaid syntaxCustom DSL (flowchart, UML, ER)
AI contextNoYes (exploration, summaries, code workflows)
Bulk operationsYesNo
MindmapsYesNo
Tags & GroupsYesNo
Connectors CRUDYesNo
ExportYes (PDF/SVG)No
MCP Resources3No
MCP Prompts5 workflows2 (code-focused)
RuntimeSingle Go binaryHosted (closed-source)
Rate limitingAdaptiveN/A (hosted)
CachingBuilt-in (2min TTL)N/A
MetricsPrometheusNo
OpenTelemetryBuilt-in (mcp-otel-go, OTel Registry)No

When to use the official server: You want zero-setup via plugin marketplace, OAuth 2.1 enterprise security, AI-powered board context extraction, or code-to-board workflows.

When to use this server: You need full API coverage (91 vs 15 tools), offline/self-hosted operation, bulk ops, mindmaps, tags, connectors, export, or a lightweight binary.

Both can coexist — use different MCP server names in your config.


Performance

  • Caching: 2-minute TTL reduces API calls
  • Rate limiting: Adapts to Miro's rate limit headers
  • Circuit breaker: Isolates failing endpoints
  • Parallel bulk ops: Creates items concurrently
  • Token validation: Fails fast on startup with clear error
  • Transient error retry: Auto-retries 502/503/504 with backoff
  • OpenTelemetry: Built-in tracing and metrics via mcp-otel-go (OTel Registry)

See PERFORMANCE.md for optimization tips and benchmarks.


HTTP Mode Endpoints

When running with -http :8080:

EndpointDescription
/MCP protocol (Streamable HTTP)
/healthHealth check (JSON)
/health?deep=trueDeep health check (tests Miro API)
/metricsPrometheus metrics
/.well-known/mcp-server-cardSEP-2127 Server Card (JSON) via mcp-servercard-go

Health check response:

json
{
  "status": "healthy",
  "server": "miro-mcp-server",
  "version": "1.15.2",
  "uptime": "2h30m",
  "components": {
    "config": {"status": "healthy"},
    "miro_api": {"status": "healthy", "latency": "145ms"}
  }
}

Development

bash
# Build
make build

# Run tests
make test

# Run with coverage
make test-cover

# Lint
make lint

# Build for all platforms
make build-all

# See all targets
make help

Docker Deployment

Quick start:

bash
# Using Docker Compose
export MIRO_ACCESS_TOKEN=your-token
docker compose up -d

# Or build and run manually
docker build -t miro-mcp-server .
docker run -e MIRO_ACCESS_TOKEN=xxx -p 8080:8080 miro-mcp-server

docker-compose.yml features:

  • Health checks configured
  • Resource limits template
  • Environment variable passthrough

Debugging with MCP Inspector

Test and debug the server interactively with MCP Inspector:

bash
# Install and run (no setup required)
npx @modelcontextprotocol/inspector miro-mcp-server

# With environment variables
MIRO_ACCESS_TOKEN=your-token npx @modelcontextprotocol/inspector miro-mcp-server

Open http://localhost:6274 to:

  • Browse all 91 tools with their schemas
  • Test tool calls interactively
  • View raw JSON-RPC messages
  • Debug parameter validation

See SETUP.md for more debugging options.


Supported Platforms

PlatformBinary
macOS (Apple Silicon)miro-mcp-server-darwin-arm64
macOS (Intel)miro-mcp-server-darwin-amd64
Linux (x64)miro-mcp-server-linux-amd64
Linux (ARM64)miro-mcp-server-linux-arm64
Windows (x64)miro-mcp-server-windows-amd64.exe
Dockerghcr.io/olgasafonova/miro-mcp-server

Supported AI Tools

ToolStatus
Claude CodeTested
Claude DesktopTested
CursorTested
VS Code + GitHub CopilotSupported
WindsurfSupported
ReplitSupported
Any MCP-compatible clientSupported

See SETUP.md for configuration guides.


Account Compatibility

Account TypeSupport
FreeFull access to all 91 tools
TeamFull access to all 91 tools
BusinessFull access to all 91 tools
EnterpriseFull access + export to PDF/SVG

Like This Project?

If this server saved you time, consider giving it a ⭐ on GitHub. It helps others discover the project.


More MCP Servers

Check out my other MCP servers:

ServerDescriptionStars
gleif-mcp-serverAccess GLEIF LEI database. Look up company identities, verify legal entities.GitHub stars
mediawiki-mcp-serverConnect AI to any MediaWiki wiki. Search, read, edit wiki content.GitHub stars
nordic-registry-mcp-serverAccess Nordic business registries. Look up companies across Norway, Denmark, Finland, Sweden.GitHub stars
productplan-mcp-serverTalk to your ProductPlan roadmaps. Query OKRs, ideas, launches.GitHub stars
tilbudstrolden-mcpNordic grocery deal hunting. Find offers, plan meals, track spending.GitHub stars
mcp-servercard-goGo library for SEP-2127 Server Cards. Pre-connect discovery for MCP servers.GitHub stars

License

MIT


<p align="center"> Built for the <a href="https://miro.com">Miro</a> and <a href="https://modelcontextprotocol.io">MCP</a> communities. <br> <sub>Miro is a trademark of Miro Inc. This project is not affiliated with or endorsed by Miro.</sub> </p>

常见问题

io.github.olgasafonova/miro-mcp-server 是什么?

Miro whiteboard integration with 30+ tools for boards, shapes, and diagrams.

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描111.8k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描111.8k

MCP服务构建器

by alirezarezvani

Universal
热门

从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。

帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。

平台与服务
未扫描9.8k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
83.1k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
78.3k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
34.9k

评论