mcpField
M
miro-automation

miro-automation

github.com/davepoon生产力3.7k117 次安装1 天前更新
代码仓库

关于 miro-automation

通过 Composio 的 Miro 工具包和 Rube MCP 自动执行 Miro 白板操作,涵盖查找看板、创建与整理内容及协作管理。

主要功能

  1. 01查找看板并获取详情
  2. 02创建看板、便笺、框架及批量内容
  3. 03浏览看板项目和连接线
  4. 04分享看板并查看成员

适用场景

  1. 01按名称查找看板并查看详情
  2. 02在看板上添加和排列便笺或框架
  3. 03按指定权限邀请协作者

MCP 相关

通过 Rube MCP 调用 Composio 的 Miro 工具包。运行工作流前需连接 Miro 账户。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davepoon/buildwithclaude --skill miro-automation

安装后在 Claude Code 中输入/miro-automation确认已加载。

详细介绍

通过 Rube MCP 自动化 Miro

通过 Rube MCP 使用 Composio 的 Miro 工具包自动化 Miro 白板操作。

工具包文档:composio.dev/toolkits/miro

前提条件

  • 必须连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Miro 连接,并指定工具包 miro
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取当前工具架构

设置

获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用
  2. 使用工具包 miro 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Miro OAuth
  4. 运行任何工作流之前,确认连接状态显示为 ACTIVE

核心工作流

1. 列出和浏览白板

适用场景:用户想查找白板或获取白板详情

工具调用顺序:

  1. MIRO_GET_BOARDS2 - 列出所有可访问的白板 [必需]
  2. MIRO_GET_BOARD - 获取特定白板的详细信息 [可选]

关键参数:

  • query:按名称筛选白板的搜索词
  • sort:排序方式,可选值为 'default'、'last_modified'、'last_opened'、'last_created'、'alphabetically'
  • limit:每页结果数(最多 50)
  • offset:分页偏移量
  • board_id:用于获取详细信息的特定白板 ID

注意事项:

  • 分页采用基于偏移量的方式,而非基于游标的方式
  • 每页最多 50 个白板;要获取完整列表,请使用偏移量逐页迭代
  • 白板 ID 是较长的字母数字字符串;请始终先通过搜索确定 ID
2. 创建白板和项目

适用场景:用户想创建新白板或向现有白板添加项目

工具调用顺序:

  1. MIRO_CREATE_BOARD - 创建新的空白板 [可选]
  2. MIRO_CREATE_STICKY_NOTE_ITEM - 向白板添加便签 [可选]
  3. MIRO_CREATE_FRAME_ITEM2 - 添加画框以整理内容 [可选]
  4. MIRO_CREATE_ITEMS_IN_BULK - 一次添加多个项目 [可选]

关键参数:

  • name / description:白板名称和描述(用于 CREATE_BOARD)
  • board_id:目标白板 ID(创建所有项目时都必需)
  • data:内容对象,便签文本需放在 content 字段中
  • style:样式对象,使用 fillColor 设置便签颜色
  • position:包含 x 和 y 坐标的对象
  • geometry:包含 width 和 height 的对象

注意事项:

  • 所有项目操作都必须提供 board_id;请先通过 GET_BOARDS2 确定 ID
  • 便签颜色使用 fillColor 字段中的十六进制代码(例如,'#FF0000')
  • 位置坐标使用白板的坐标系(原点位于中心)
  • 批量创建的每次请求有项目数量上限;请查看当前架构
  • 画框项目的 geometry 必须同时包含宽度和高度
3. 浏览和管理白板项目

适用场景:用户想查看、查找或整理白板上的项目

工具调用顺序:

  1. MIRO_GET_BOARD_ITEMS - 列出白板上的所有项目 [必需]
  2. MIRO_GET_CONNECTORS2 - 列出项目之间的连接 [可选]

关键参数:

  • board_id:目标白板 ID(必需)
  • type:按项目类型筛选('sticky_note'、'shape'、'text'、'frame'、'image'、'card')
  • limit:每页项目数
  • cursor:上一条响应中的分页游标

注意事项:

  • 结果采用分页形式;请持续使用 cursor,直到游标不存在,以获取完整项目列表
  • 项目类型必须与 Miro 预定义的类型完全一致
  • 大型白板可能包含数千个项目;请使用类型筛选缩小结果范围
  • 连接器与项目分开;请使用 GET_CONNECTORS2 获取关系数据
4. 共享和协作处理看板

适用场景:用户想与团队成员共享看板或管理访问权限

工具调用顺序:

  1. MIRO_GET_BOARDS2 - 查找要共享的看板 [前置步骤]
  2. MIRO_SHARE_BOARD - 与用户共享看板 [必需]
  3. MIRO_GET_BOARD_MEMBERS - 验证当前看板成员 [可选]

关键参数:

  • board_id:要共享的看板(必需)
  • emails:要邀请的电子邮件地址数组
  • role:访问权限级别('viewer'、'commenter'、'editor')
  • message:可选的邀请消息

注意事项:

  • 电子邮件地址必须有效;无效地址会导致整个请求失败
  • 角色必须是预定义值之一;区分大小写
  • 与组织外部的用户共享可能需要管理员批准
  • GET_BOARD_MEMBERS 会返回所有成员,包括所有者
5. 创建可视化连接

适用场景:用户想在看板上用直线或箭头连接项目

工具调用顺序:

  1. MIRO_GET_BOARD_ITEMS - 查找要连接的项目 [前置步骤]
  2. MIRO_GET_CONNECTORS2 - 查看现有连接 [可选]

关键参数:

  • board_id:目标看板 ID
  • startItem:包含源项目 id 的对象
  • endItem:包含目标项目 id 的对象
  • style:连接线样式(线条类型、颜色、箭头)

注意事项:

  • 起始项目和结束项目都必须存在于同一看板上
  • 创建连接需要项目 ID;请先通过 GET_BOARD_ITEMS 查询
  • 连接线样式有所不同;请查看架构中的可用选项
  • 不允许创建自引用连接(起始项目和结束项目相同)

常见模式

ID 解析

看板名称 -> 看板 ID:

1. Call MIRO_GET_BOARDS2 with query=board_name
2. Find board by name in results
3. Extract id field

在看板上查找项目:

1. Call MIRO_GET_BOARD_ITEMS with board_id and optional type filter
2. Find item by content or position
3. Extract item id for further operations
分页
  • 看板:使用 offset 和 limit(基于偏移量)
  • 看板项目:使用 cursor 和 limit(基于游标)
  • 持续获取,直到没有更多结果或游标缺失
  • 默认页面大小因端点而异
坐标系
  • 看板原点 (0,0) 位于中心
  • X 正方向向右,Y 正方向向下
  • 项目按中心点定位
  • 使用 position: {x: 0, y: 0} 表示看板中心
  • 画框定义有界区域;其中的项目会继承画框位置

已知注意事项

看板 ID:

  • 几乎所有操作都需要看板 ID
  • 始终先通过 GET_BOARDS2 将看板名称解析为 ID
  • 不要硬编码看板 ID;不同账号的 ID 各不相同

创建项目:

  • 每种项目类型都有不同的必填字段
  • 便笺需要使用 data.content 设置文本
  • 画框需要设置 geometry.width 和 geometry.height
  • 如果未指定,位置默认为 (0,0);项目可能会重叠

速率限制:

  • Miro API 对每个令牌都有速率限制
  • 与逐个创建项目相比,优先使用批量操作
  • 添加多个项目时使用 MIRO_CREATE_ITEMS_IN_BULK

响应解析:

  • 响应数据可能嵌套在 data 键下
  • 项目类型决定响应中包含哪些字段
  • 解析时应做好防护;可选字段可能不存在

快速参考

任务工具标识关键参数
列出看板MIRO_GET_BOARDS2query, sort, limit, offset
获取看板详情MIRO_GET_BOARDboard_id
创建看板MIRO_CREATE_BOARDname, description
添加便笺MIRO_CREATE_STICKY_NOTE_ITEMboard_id, data, style, position
添加画框MIRO_CREATE_FRAME_ITEM2board_id, data, geometry, position
批量添加项目MIRO_CREATE_ITEMS_IN_BULKboard_id, items
获取看板项目MIRO_GET_BOARD_ITEMSboard_id, type, cursor
共享看板MIRO_SHARE_BOARDboard_id, emails, role
获取成员MIRO_GET_BOARD_MEMBERSboard_id
获取连接线MIRO_GET_CONNECTORS2board_id

由 Composio 提供支持

评论

支持 Markdown