mcpField
M
monday-automation

monday-automation

github.com/sickn33生产力48.8k78 次安装今天更新
代码仓库

关于 monday-automation

monday-automation 是通过 Rube MCP 操作 Monday.com 的技能,面向管理工作区、看板和任务的工作流。它涵盖项目结构、条目、列值、子条目及评论更新,并要求先确认连接和工具架构。

主要功能

  1. 01创建和管理看板
  2. 02创建、查询及移动条目
  3. 03更新列值
  4. 04管理组和列结构
  5. 05查看子条目并添加更新

适用场景

  1. 01搭建工作区看板和分组
  2. 02批量录入或整理任务条目
  3. 03修改任务状态、日期或负责人列
  4. 04查看子任务并发布条目评论

MCP 相关

通过 Rube MCP 的 Monday 工具包连接 Monday.com。操作前需检查工具架构并确认 Monday.com 连接处于 ACTIVE 状态。

安装

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill monday-automation

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

详细介绍

通过 Rube MCP 自动化 Monday.com

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

前提条件

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

设置

使用现有的已批准 Rube 连接。如果没有可用连接,请在用户请求的范围内,使用主机支持的安装/身份验证流程;仅有端点并不代表已完成身份验证。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用
  2. 使用工具包 monday 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请访问返回的身份验证链接,完成 Monday.com OAuth
  4. 确认连接状态显示为 ACTIVE,然后再运行任何工作流

将列出的 slug、参数和默认值视为历史示例;执行时以发现的架构为准。按返回的形式原样保留 ID。核实工作区/看板/项目及其可见性后,仅执行请求的变更。评论/更新属于消息,需要明确授权。批量、删除、归档和原始 GraphQL 操作必须有明确的目标范围;重试前,应先核实结果未知的写入操作是否已生效。

核心工作流

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:除非用户要求新标签,否则设为 false;检查已发现的默认值

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
  • 时间线、人员、日期等复杂类型(JSON 值)请使用 MONDAY_UPDATE_ITEM
  • 列 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_id:使用 MONDAY_LIST_BOARDS 并按名称匹配
  • 分组名称 -> group_id:使用 MONDAY_LIST_GROUPS 并传入 board_id
  • 列标题 -> column_id:使用 MONDAY_LIST_COLUMNS 并传入 board_id
  • 工作区名称 -> workspace_id:使用 MONDAY_GET_WORKSPACES 并按名称匹配
  • 项目名称 -> 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 和 item ID 是较大的整数(例如 1234567890)
  • Group ID 是字符串(例如 "topics", "new_group_12345")
  • Column ID 是较短的字符串(例如 "status_1", "date4", "text")
  • Workspace ID 是整数
速率限制
  • Monday.com GraphQL API 的速率限制基于复杂度
  • 包含许多列的大型 board 会增加查询复杂度
  • 如果触及速率限制,请使用 limit 参数减少每次请求的 item 数量
参数注意事项
  • 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 item 以数组形式返回,包含 id、name 和 state 字段
  • Column value 同时包含原始 value(JSON)和呈现后的 text(显示字符串)
  • Subitem 嵌套在父 item 下,无法单独查询

快速参考

任务工具标识关键参数
列出 workspaceMONDAY_GET_WORKSPACESkind, state, limit
创建 workspaceMONDAY_CREATE_WORKSPACEname, kind
列出 boardMONDAY_LIST_BOARDSlimit, page, state
创建 boardMONDAY_CREATE_BOARDboard_name, board_kind, workspace_id
获取 board 元数据MONDAY_BOARDSboard_ids, board_kind
列出 groupMONDAY_LIST_GROUPSboard_id
创建 groupMONDAY_CREATE_GROUPboard_id, group_name
列出 columnMONDAY_LIST_COLUMNSboard_id
获取 column 元数据MONDAY_COLUMNSboard_ids, column_types
创建 columnMONDAY_CREATE_COLUMNboard_id, column_type, title
创建 itemMONDAY_CREATE_ITEMboard_id, item_name, column_values
列出 board itemMONDAY_LIST_BOARD_ITEMSboard_id
分页获取 itemMONDAY_ITEMS_PAGEboard_id, limit, query_params
更新 column(简单)MONDAY_CHANGE_SIMPLE_COLUMN_VALUEboard_id, item_id, column_id, value
更新 column(复杂)MONDAY_UPDATE_ITEMboard_id, item_id, column_id, value
将 item 移至 groupMONDAY_MOVE_ITEM_TO_GROUPitem_id, group_id
列出 subitemMONDAY_LIST_SUBITEMS_BY_PARENTparent_item_ids
添加评论/更新MONDAY_CREATE_UPDATEitem_id, body
原始 GraphQL mutationMONDAY_CREATE_OBJECTquery, variables

适用场景

当需要执行概述中所述的工作流或操作时,可使用此技能。

示例

用户请求:

通过 Rube MCP (Composio) 自动化 Monday.com 工作管理,包括 board、item、column、group、subitem 和更新。

限制

  • 仅当任务明确符合上述范围时使用此技能。
  • 不要将输出视为环境特定验证、测试或专家审查的替代品。
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown