mcpField
M
monday-automation

monday-automation

github.com/davepoon生产力3.7k118 次安装今天更新
代码仓库

关于 monday-automation

通过 Rube MCP 和 Composio 的 Monday 工具包自动化 Monday.com 工作管理,适用于组织看板、任务和协作信息的团队。支持列值更新、子项目及评论,并提供 GraphQL 操作入口。

主要功能

  1. 01创建看板、分组和列
  2. 02创建、检索和移动项目
  3. 03更新项目列值
  4. 04查看和创建子项目
  5. 05为项目添加评论或更新

适用场景

  1. 01搭建看板并配置分组与列
  2. 02更新任务状态、日期或负责人
  3. 03查看任务子项目并添加评论

MCP 相关

此技能通过 Rube MCP 调用 Composio 的 Monday 工具包。需连接 Rube MCP 并完成 Monday.com OAuth 授权。

安装

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

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

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

详细介绍

通过 Rube MCP 自动化 Monday.com

通过 Composio 的 Monday 工具包,自动化 Monday.com 工作管理工作流,包括创建看板、管理项目、更新列值、组织分组、管理子项目以及处理更新/评论对话串。

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

前提条件

  • 必须已连接 Rube MCP(可用 RUBE_SEARCH_TOOLS)
  • 通过工具包 monday 使用 RUBE_MANAGE_CONNECTIONS 建立有效的 Monday.com 连接
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取最新的工具架构

设置

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

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

核心工作流

1. 创建和管理看板

使用场景:用户想要创建新看板、列出现有看板或设置工作区结构。

工具调用顺序:

  1. MONDAY_GET_WORKSPACES - 列出可用工作区并解析工作区 ID [前置条件]
  2. MONDAY_LIST_BOARDS - 列出现有看板以检查是否重复 [可选]
  3. MONDAY_CREATE_BOARD - 使用名称、类型和工作区创建新看板 [必需]
  4. MONDAY_CREATE_COLUMN - 向新看板添加列 [可选]
  5. MONDAY_CREATE_GROUP - 添加分组以整理项目 [可选]
  6. MONDAY_BOARDS - 获取详细的看板元数据 [可选]

关键参数:

  • board_name:新看板的名称(必需)
  • board_kind:"public"、"private" 或 "share"(必需)
  • workspace_id:数字格式的工作区 ID;使用默认工作区时可省略
  • folder_id:文件夹 ID;如果同时提供 workspace_id,则文件夹必须位于该工作区内
  • template_id:要克隆的可访问模板 ID

注意事项:

  • board_kind 为必填项,且必须是以下值之一:"public"、"private"、"share"
  • 如果同时提供 workspace_id 和 folder_id,文件夹必须存在于该工作区中
  • template_id 必须引用经过身份验证的用户可访问的模板
  • 看板 ID 是较大的整数;始终使用 API 响应中的确切值
2. 创建和管理项目

使用场景:用户想要向看板添加任务/项目、列出现有项目,或在不同分组间移动项目。

工具调用顺序:

  1. MONDAY_LIST_BOARDS - 将看板名称解析为看板 ID [前置条件]
  2. MONDAY_LIST_GROUPS - 列出看板上的分组以获取 group_id [前置条件]
  3. MONDAY_LIST_COLUMNS - 获取用于设置值的列 ID 和类型 [前置条件]
  4. MONDAY_CREATE_ITEM - 使用名称和列值创建新项目 [必需]
  5. MONDAY_LIST_BOARD_ITEMS - 列出看板上的所有项目 [可选]
  6. MONDAY_MOVE_ITEM_TO_GROUP - 将项目移至其他分组 [可选]
  7. MONDAY_ITEMS_PAGE - 使用筛选条件分页获取项目 [可选]

关键参数:

  • board_id:看板 ID(必需,整数)
  • item_name:项目名称,最多 256 个字符(必需)
  • group_id:要放置项目的分组 ID 字符串(可选)
  • column_values:将列 ID 映射到值的 JSON 对象或字符串

注意事项:

  • column_values 必须使用列 ID(而非标题);请从 MONDAY_LIST_COLUMNS 获取
  • 列值格式因类型而异:状态使用 {"index": 0} 或 {"label": "Done"},日期使用 {"date": "YYYY-MM-DD"},人员使用 {"personsAndTeams": [{"id": 123, "kind": "person"}]}
  • item_name 最多可包含 256 个字符
  • MONDAY_CREATE_ITEM 不支持子项目看板;请通过 MONDAY_CREATE_OBJECT 使用 GraphQL
3. 更新项目列值

使用场景:用户想要更改现有项目的状态、日期、文本或其他列值。

工具调用顺序:

  1. MONDAY_LIST_COLUMNS 或 MONDAY_COLUMNS - 获取列 ID 和类型 [前置条件]
  2. MONDAY_LIST_BOARD_ITEMS 或 MONDAY_ITEMS_PAGE - 查找目标项目 ID [前置条件]
  3. MONDAY_CHANGE_SIMPLE_COLUMN_VALUE - 使用字符串值更新文本、状态或下拉菜单 [必需]
  4. MONDAY_UPDATE_ITEM - 使用 JSON 更新复杂列类型(时间线、人员、日期)[必需]

MONDAY_CHANGE_SIMPLE_COLUMN_VALUE 的关键参数:

  • board_id:看板 ID(整数,必需)
  • item_id:项目 ID(整数,必需)
  • column_id:列 ID 字符串(必需)
  • value:简单字符串值(例如,“Done”“Working on it”)
  • create_labels_if_missing:设为 true 可自动创建状态/下拉菜单标签(默认值为 true)

MONDAY_UPDATE_ITEM 的关键参数:

  • board_id:看板 ID(整数,必需)
  • item_id:项目 ID(整数,必需)
  • column_id:列 ID 字符串(必需)
  • value:与列类型架构相匹配的 JSON 对象
  • create_labels_if_missing:默认值为 false;用于状态/下拉菜单时设为 true

注意事项:

  • 更新简单文本/状态/下拉菜单时使用 MONDAY_CHANGE_SIMPLE_COLUMN_VALUE(字符串值)
  • 更新时间线、人员、日期等复杂类型时使用 MONDAY_UPDATE_ITEM(JSON 值)
  • 列 ID 是带下划线的小写字符串(例如,“status_1”“date_2”“text”);通过 MONDAY_LIST_COLUMNS 获取
  • 状态值可以使用标签名称(“Done”)或索引编号(“1”)设置
  • create_labels_if_missing 的默认值因工具而异:CHANGE_SIMPLE 为 true,UPDATE_ITEM 为 false
4. 使用分组和看板结构

使用场景:用户想要将项目整理到分组中、添加列或检查看板结构。

工具调用顺序:

  1. MONDAY_LIST_BOARDS - 确定看板 ID [前置条件]
  2. MONDAY_LIST_GROUPS - 列出看板上的所有分组 [必需]
  3. MONDAY_CREATE_GROUP - 创建新分组 [可选]
  4. MONDAY_LIST_COLUMNS 或 MONDAY_COLUMNS - 检查列结构 [必需]
  5. MONDAY_CREATE_COLUMN - 向看板添加新列 [可选]
  6. MONDAY_MOVE_ITEM_TO_GROUP - 在不同分组之间重新整理项目 [可选]

关键参数:

  • board_id:看板 ID(所有分组/列操作都需要)
  • group_name:新分组的名称(CREATE_GROUP)
  • column_type:必须是有效的 GraphQL 枚举标记,采用 snake_case 格式(例如,“status”“text”“long_text”“numbers”“date”“dropdown”“people”)
  • title:列的显示标题
  • defaults:用于状态/下拉菜单标签的 JSON 字符串,例如,'{"labels": ["To Do", "In Progress", "Done"]}'

注意事项:

  • column_type 必须使用完全匹配的 snake_case 值;“person”无效,请使用“people”
  • 分组 ID 是字符串(例如,“topics”“new_group_12345”),不是整数
  • MONDAY_COLUMNS 接受 board_ids 数组,并返回包含设置在内的列元数据
  • MONDAY_LIST_COLUMNS 更简单,只需传入单个 board_id
5. 管理子项和更新

适用场景:用户想查看任务的子项,或为条目添加评论/更新。

工具调用顺序:

  1. MONDAY_LIST_BOARD_ITEMS - 查找父条目 ID[前置步骤]
  2. MONDAY_LIST_SUBITEMS_BY_PARENT - 获取子项及列值[必需]
  3. MONDAY_CREATE_UPDATE - 为条目添加评论/更新[可选]
  4. MONDAY_CREATE_OBJECT - 通过 GraphQL mutation 创建子项[可选]

MONDAY_LIST_SUBITEMS_BY_PARENT 的关键参数:

  • parent_item_ids:父条目 ID 数组(整数数组,必需)
  • include_column_values:设为 true 以包含列数据(默认值为 true)
  • include_parent_fields:设为 true 以包含父条目信息(默认值为 true)

MONDAY_CREATE_OBJECT(GraphQL)的关键参数:

  • query:完整的 GraphQL mutation 字符串
  • variables:可选的 variables 对象

注意事项:

  • 只能通过父条目查询子项
  • 要创建子项,请使用 MONDAY_CREATE_OBJECT 和 create_subitem GraphQL mutation
  • MONDAY_CREATE_UPDATE 用于为条目添加评论/更新(Monday 的“updates”功能),不能用于修改条目值
  • MONDAY_CREATE_OBJECT 是原始 GraphQL 端点;请确保 mutation 语法正确

常见模式

ID 解析

执行操作前,始终先将显示名称解析为 ID:

  • Board 名称 -> board_id:使用 MONDAY_LIST_BOARDS 并按名称匹配
  • Group 名称 -> group_id:使用 MONDAY_LIST_GROUPS 和 board_id
  • Column 标题 -> column_id:使用 MONDAY_LIST_COLUMNS 和 board_id
  • Workspace 名称 -> workspace_id:使用 MONDAY_GET_WORKSPACES 并按名称匹配
  • Item 名称 -> item_id:使用 MONDAY_LIST_BOARD_ITEMS 或 MONDAY_ITEMS_PAGE
分页

Monday.com 对条目使用基于游标的分页:

  • MONDAY_ITEMS_PAGE 会在响应中返回用于获取下一页的 cursor
  • 将 cursor 传入下一次调用;提供 cursor 时,board_id 和 query_params 会被忽略
  • 游标会缓存 60 分钟
  • 每页的 limit 最大值为 500
  • MONDAY_LIST_BOARDS 和 MONDAY_GET_WORKSPACES 使用基于页码的分页,参数为 page 和 limit
列值格式

不同的列类型需要使用不同的值格式:

  • 状态:{"index": 0}、{"label": "Done"} 或简单字符串 "Done"
  • 日期:{"date": "YYYY-MM-DD"}
  • 人员:{"personsAndTeams": [{"id": 123, "kind": "person"}]}
  • 文本/数字:普通字符串或数字
  • 时间线:{"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"}

已知注意事项

ID 格式
  • Board ID 和条目 ID 是较大的整数(例如 1234567890)
  • Group ID 是字符串(例如 "topics"、"new_group_12345")
  • Column ID 是较短的字符串(例如 "status_1"、"date4"、"text")
  • Workspace ID 是整数
速率限制
  • Monday.com GraphQL API 的速率限制基于复杂度
  • 列较多的大型 Board 会增加查询复杂度
  • 如果触及限制,请使用 limit 参数减少每次请求的条目数
参数细节
  • CREATE_COLUMN 的 column_type 必须使用准确的 snake_case 枚举值;应为 "people",而非 "person"
  • CREATE_ITEM 中的 column_values 接受 JSON 字符串和对象两种格式
  • MONDAY_CHANGE_SIMPLE_COLUMN_VALUE 默认会自动创建缺失的标签;MONDAY_UPDATE_ITEM 不会
  • MONDAY_CREATE_OBJECT 是原始 GraphQL 接口;可用于没有专用工具的操作(例如 create_subitem、delete_item、archive_board)
响应结构
  • Board 条目以数组形式返回,包含 id、name 和 state 字段
  • 列值同时包含原始 value(JSON)和渲染后的 text(显示字符串)
  • 子项嵌套在父条目下,无法单独查询

快速参考

任务工具标识关键参数
列出工作区MONDAY_GET_WORKSPACESkind、state、limit
创建工作区MONDAY_CREATE_WORKSPACEname、kind
列出看板MONDAY_LIST_BOARDSlimit、page、state
创建看板MONDAY_CREATE_BOARDboard_name、board_kind、workspace_id
获取看板元数据MONDAY_BOARDSboard_ids、board_kind
列出分组MONDAY_LIST_GROUPSboard_id
创建分组MONDAY_CREATE_GROUPboard_id、group_name
列出列MONDAY_LIST_COLUMNSboard_id
获取列元数据MONDAY_COLUMNSboard_ids、column_types
创建列MONDAY_CREATE_COLUMNboard_id、column_type、title
创建项目MONDAY_CREATE_ITEMboard_id、item_name、column_values
列出看板项目MONDAY_LIST_BOARD_ITEMSboard_id
分页获取项目MONDAY_ITEMS_PAGEboard_id、limit、query_params
更新列(简单)MONDAY_CHANGE_SIMPLE_COLUMN_VALUEboard_id、item_id、column_id、value
更新列(复杂)MONDAY_UPDATE_ITEMboard_id、item_id、column_id、value
将项目移至分组MONDAY_MOVE_ITEM_TO_GROUPitem_id、group_id
列出子项目MONDAY_LIST_SUBITEMS_BY_PARENTparent_item_ids
添加评论/更新MONDAY_CREATE_UPDATEitem_id、body
原始 GraphQL 变更MONDAY_CREATE_OBJECTquery、variables

由 Composio 提供支持

评论

支持 Markdown