返回 MCP 目录
public公开dns本地运行

miro-mcp-server

Miro MCP服务器是一个用Go语言开发的高性能工具,提供77个工具来控制Miro白板,支持AI集成、图表生成、批量操作等功能,通过单一二进制文件运行,兼容所有主流AI工具和平台。

article

README

🚀 Miro MCP Server

借助人工智能控制 Miro 白板。采用Go语言构建,兼具速度与简洁性。

社区项目 — 本项目与Miro官方无直接关联。请查看下方的 官方版本与社区版本对比

77 种工具 | 单二进制文件 | 全平台支持 | 支持所有主流AI工具

CI Go Report Card License: MIT

🚀 快速开始

1. 安装

Homebrew(macOS/Linux):

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

单行命令(macOS/Linux):

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

Docker:

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

手动下载:所有平台的安装说明请参考 SETUP.md

2. 获取 Miro 令牌

  1. 访问 miro.com/app/settings/user-profile/apps
  2. 创建一个具有 boards:readboards:write 权限的应用
  3. 将应用安装到您的团队,并复制令牌

3. 配置您的 AI 工具

Claude Code:

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

Claude Desktop / Cursor / VS Code:配置说明请参考 SETUP.md

✨ 主要特性

可执行操作

| 类别 | 示例 | |------|------| | 白板操作 | 创建、复制、删除、更新、共享白板,列出成员 | | 元素操作 | 便签、形状、文本、卡片、应用卡片、框架 | | 图表生成 | 根据 Mermaid 语法生成流程图和序列图 | | 思维导图 | 创建具有父子关系的思维导图节点 | | 批量操作 | 一次性创建多个元素,创建便签网格 | | 标签管理 | 创建、附加、更新和组织标签 | | 分组管理 | 分组、取消分组、列出和管理元素组 | | 连接操作 | 使用带样式的箭头连接元素 | | 导出功能 | 白板缩略图,PDF/SVG 导出(企业版) |

语音操作示例

  • "添加一个黄色便签,内容为 'Review PRs'"
  • "创建一个流程图:开始 → 决策 → 结束"
  • "我有哪些白板?"
  • "将设计白板共享给 jane@example.com"
  • "以 '项目想法' 为根节点创建一个思维导图"

📦 安装指南

安装方式

  • Homebrew(macOS/Linux):运行 brew tap olgasafonova/tap && brew install miro-mcp-server
  • 单行命令(macOS/Linux):运行 curl -fsSL https://raw.githubusercontent.com/olgasafonova/miro-mcp-server/main/install.sh | sh
  • Docker:运行 docker pull ghcr.io/olgasafonova/miro-mcp-server:latest
  • 手动下载:所有平台的安装说明请参考 SETUP.md

获取 Miro 令牌

  1. 访问 miro.com/app/settings/user-profile/apps
  2. 创建一个具有 boards:readboards:write 权限的应用
  3. 将应用安装到您的团队,并复制令牌

配置 AI 工具

  • Claude Code:运行 claude mcp add miro -e MIRO_ACCESS_TOKEN=your-token -- miro-mcp-server
  • Claude Desktop / Cursor / VS Code:配置说明请参考 SETUP.md

💻 使用示例

基础用法

您可以使用以下命令进行基本操作,例如获取 Miro 令牌和配置 AI 工具:

# 获取 Miro 令牌
# 1. 访问 [miro.com/app/settings/user-profile/apps](https://miro.com/app/settings/user-profile/apps)
# 2. 创建一个具有 `boards:read` 和 `boards:write` 权限的应用
# 3. 将应用安装到您的团队,并复制令牌

# 配置 Claude Code
claude mcp add miro -e MIRO_ACCESS_TOKEN=your-token -- miro-mcp-server

高级用法

图表生成

创建流程图和序列图,使用 Mermaid 语法:

流程图示例:

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

序列图示例:

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

支持的语法flowchart/graphsequenceDiagram、方向(TB/LR/BT/RL)、形状([] 矩形、{} 菱形、(()) 圆形)、带标签的边。

📚 详细文档

| 文档 | 描述 | |------|------| | QUICKSTART.md | 两分钟快速上手 | | SETUP.md | 所有 AI 工具的完整设置 | | CONFIG.md | 配置参考 | | PERFORMANCE.md | 优化指南 | | CHANGELOG.md | 版本历史 | | ERRORS.md | 错误处理与故障排除 |

🔧 技术细节

77 种工具详情

白板管理(9 种)

| 工具 | 描述 | |------|------| | miro_list_boards | 列出可访问的白板 | | miro_find_board | 按名称查找白板 | | miro_get_board | 获取白板详情 | | miro_get_board_summary | 获取白板统计信息和元素数量 | | miro_get_board_content | 获取白板所有内容用于 AI 分析 | | miro_create_board | 创建新白板 | | miro_copy_board | 复制现有白板 | | miro_update_board | 更新白板名称/描述 | | miro_delete_board | 删除白板 |

白板成员管理(5 种)

| 工具 | 描述 | |------|------| | miro_list_board_members | 列出具有访问权限的用户 | | miro_get_board_member | 获取成员详情 | | miro_share_board | 通过电子邮件共享白板 | | miro_update_board_member | 更新成员角色 | | miro_remove_board_member | 从白板中移除成员 |

元素创建(14 种)

| 工具 | 描述 | |------|------| | miro_create_sticky | 创建便签 | | miro_create_sticky_grid | 以网格布局创建便签 | | miro_create_shape | 创建形状(矩形、圆形等) | | miro_create_text | 创建文本元素 | | miro_create_frame | 创建框架容器 | | miro_create_card | 创建带有截止日期的卡片 | | miro_create_app_card | 创建带有自定义字段的应用卡片 | | miro_create_image | 从 URL 添加图像 | | miro_create_document | 从 URL 添加文档 | | miro_create_embed | 嵌入 YouTube、Figma 等 | | miro_create_connector | 用箭头连接两个元素 | | miro_create_group | 将元素分组 | | miro_create_mindmap_node | 创建思维导图节点 | | miro_bulk_create | 一次性创建多个元素 |

框架管理(4 种)

| 工具 | 描述 | |------|------| | miro_get_frame | 获取框架详情 | | miro_update_frame | 更新框架标题/颜色/大小 | | miro_delete_frame | 删除框架 | | miro_get_frame_items | 列出框架内的元素 |

思维导图管理(4 种)

| 工具 | 描述 | |------|------| | miro_create_mindmap_node | 创建思维导图节点 | | miro_get_mindmap_node | 获取节点详情 | | miro_list_mindmap_nodes | 列出所有思维导图节点 | | miro_delete_mindmap_node | 删除思维导图节点 |

元素读取(5 种)

| 工具 | 描述 | |------|------| | miro_list_items | 列出白板上的元素 | | miro_list_all_items | 自动分页获取所有元素 | | miro_get_item | 获取元素详情 | | miro_get_app_card | 获取应用卡片详情 | | miro_search_board | 按内容搜索元素 |

元素更新与删除(6 种)

| 工具 | 描述 | |------|------| | miro_update_item | 更新元素内容/位置/颜色 | | miro_update_app_card | 更新应用卡片字段 | | miro_bulk_update | 一次性更新多个元素 | | miro_delete_item | 删除元素 | | miro_delete_app_card | 删除应用卡片 | | miro_bulk_delete | 一次性删除多个元素 |

标签管理(8 种)

| 工具 | 描述 | |------|------| | miro_create_tag | 创建标签 | | miro_list_tags | 列出白板上的所有标签 | | miro_get_tag | 按 ID 获取标签详情 | | miro_attach_tag | 将标签附加到元素 | | miro_detach_tag | 从元素移除标签 | | miro_get_item_tags | 获取元素上的标签 | | miro_update_tag | 更新标签名称/颜色 | | miro_delete_tag | 删除标签 |

连接管理(4 种)

| 工具 | 描述 | |------|------| | miro_list_connectors | 列出所有连接 | | miro_get_connector | 获取连接详情 | | miro_update_connector | 更新连接样式/标题 | | miro_delete_connector | 删除连接 |

分组管理(5 种)

| 工具 | 描述 | |------|------| | miro_list_groups | 列出白板上的所有组 | | miro_get_group | 获取组详情 | | miro_get_group_items | 列出组内的元素 | | miro_ungroup | 取消元素分组 | | miro_delete_group | 删除组 |

导出功能(4 种)

| 工具 | 描述 | |------|------| | miro_get_board_picture | 获取白板缩略图 | | miro_create_export_job | 导出为 PDF/SVG(企业版) | | miro_get_export_job_status | 检查导出进度 | | miro_get_export_job_results | 获取下载链接 |

图表生成与审计(2 种)

| 工具 | 描述 | |------|------| | miro_generate_diagram | 根据 Mermaid 语法创建图表 | | miro_get_audit_log | 查询本地执行日志 |

性能优化

  • 缓存机制:2 分钟的 TTL 减少 API 调用
  • 速率限制:自适应 Miro 的速率限制头
  • 熔断机制:隔离故障端点
  • 并行批量操作:并发创建元素
  • 令牌验证:启动时快速失败并给出明确错误信息
  • 临时错误重试:自动重试 502/503/504 错误并进行退避处理

更多优化提示和基准测试请参考 PERFORMANCE.md

HTTP 模式端点

当使用 -http :8080 运行时:

| 端点 | 描述 | |------|------| | / | MCP 协议(可流式 HTTP) | | /health | 健康检查(JSON) | | /health?deep=true | 深度健康检查(测试 Miro API) | | /metrics | Prometheus 指标 |

健康检查响应示例:

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

开发相关

# 构建项目
make build

# 运行测试
make test

# 运行带覆盖率的测试
make test-cover

# 代码检查
make lint

# 为所有平台构建
make build-all

# 查看所有目标
make help

Docker 部署

快速启动:

# 使用 docker-compose
export MIRO_ACCESS_TOKEN=your-token
docker-compose up -d

# 或者手动构建和运行
docker build -t miro-mcp-server .
docker run -e MIRO_ACCESS_TOKEN=xxx -p 8080:8080 miro-mcp-server

docker-compose.yml 特性

  • 配置了健康检查
  • 资源限制模板
  • 环境变量传递

使用 MCP Inspector 调试

使用 MCP Inspector 进行交互式测试和调试:

# 安装并运行(无需设置)
npx @modelcontextprotocol/inspector miro-mcp-server

# 使用环境变量运行
MIRO_ACCESS_TOKEN=your-token npx @modelcontextprotocol/inspector miro-mcp-server

打开 http://localhost:6274 可以:

  • 浏览所有 77 种工具及其架构
  • 交互式测试工具调用
  • 查看原始 JSON-RPC 消息
  • 调试参数验证

更多调试选项请参考 SETUP.md

支持的平台

| 平台 | 二进制文件 | |------|------| | 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 | | Docker | ghcr.io/olgasafonova/miro-mcp-server |

支持的 AI 工具

| 工具 | 状态 | |------|------| | Claude Code | 已测试 | | Claude Desktop | 已测试 | | Cursor | 已测试 | | VS Code + GitHub Copilot | 支持 | | Windsurf | 支持 | | Replit | 支持 | | 任何 MCP 兼容客户端 | 支持 |

配置指南请参考 SETUP.md

账户兼容性

| 账户类型 | 支持情况 | |------|------| | 免费版 | 完全访问所有 77 种工具 | | 团队版 | 完全访问所有 77 种工具 | | 商业版 | 完全访问所有 77 种工具 | | 企业版 | 完全访问 + PDF/SVG 导出 |

与其他方案对比

与 TypeScript 替代方案对比

| 特性 | 本服务器 | TypeScript 替代方案 | |------|------|------| | 运行时 | 单二进制文件 | 需要 Node.js | | 大小 | 约 14MB | 包含 node_modules 时超过 100MB | | 启动时间 | 约 50ms | 500ms - 2s | | 内存占用 | 空闲时约 10MB | 空闲时约 50MB | | 图表生成 | 内置 Mermaid 解析器 | 基于 AI | | 速率限制 | 自动退避 | 手动设置 | | 缓存机制 | 2 分钟 TTL | 无 | | 熔断机制 | 支持 | 不支持 |

与 Miro 官方 MCP 服务器对比

Miro 已发布 官方 MCP 服务器(测试版)。对比情况如下:

| 特性 | 本服务器 | 官方 Miro MCP 服务器 | |------|------|------| | 工具数量 | 77 种 | 约 5 种(测试版) | | 图表生成 | Mermaid 语法 | 基于 AI | | 批量操作 | 支持 | 不支持 | | 思维导图 | 支持 | 不支持 | | 标签与分组 | 支持 | 不支持 | | 导出功能 | 支持 | 不支持 | | 运行时 | 单 Go 二进制文件 | Node.js | | 速率限制 | 自适应 | 基本限制 | | 缓存机制 | 内置 | 无 | | OAuth 流程 | 内置 CLI | 需要设置 |

何时使用官方服务器:您需要 Miro 支持的工具和 AI 驱动的图表生成功能。

何时使用本服务器:您需要完整的 API 接口、批量操作、思维导图、标签和分组功能,或者希望使用轻量级的二进制文件。

两者可以共存 — 在配置中使用不同的 MCP 服务器名称。

📄 许可证

本项目采用 MIT 许可证。


MiroMCP 社区打造。
Miro 是 Miro Inc. 的商标。本项目与 Miro 无关联,也未得到其认可。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端