Basecamp Automation 通过 Rube MCP 与 Composio 的 Basecamp toolkit,将 Basecamp 中的项目管理、待办、消息、人员与待办分组等操作自动化。以下按用途、主要能力、使用方式与限制说明。
一、用途 面向需要通过 MCP 客户端自动操作 Basecamp 的场景,覆盖项目浏览、待办清单与任务、留言板消息、人员与项目访问权限,以及待办分组整理。
二、前置条件
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)。
- 需通过 RUBE_MANAGE_CONNECTIONS、toolkit 为 basecamp 建立有效的 Basecamp 连接。
- 调用任何工作流前,应先调用 RUBE_SEARCH_TOOLS 获取当前工具 schema。
三、安装与设置
- 获取 Rube MCP:在客户端配置中把 https://rube.app/mcp 添加为 MCP 服务器。无需 API key。
- 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
- 调用 RUBE_MANAGE_CONNECTIONS,toolkit 为 basecamp。
- 若连接状态不是 ACTIVE,按返回的授权链接完成 Basecamp OAuth。
- 确认连接状态为 ACTIVE 后再运行工作流。
四、主要能力
- 管理待办清单与任务:创建待办清单、创建待办项、列出待办清单与待办项,避免重复命名。
- 发布与管理消息:获取留言板、创建消息、读取消息、更新消息;更新会替换整个正文。
- 管理人员与访问:列出人员、列出项目成员、通过 grant/revoke/create 授予或撤销项目访问。
- 用分组组织待办:在待办清单内创建带颜色的分组,颜色需使用固定调色板(white、red、orange、yellow、green、blue、aqua、purple、gray、pink、brown)。
- 浏览与检查项目:列出项目、获取项目详情、通过项目 dock 获取 todoset、message_board 等工具 ID。
五、使用方式与关键参数 遵循自上而下的 ID 解析:项目(bucket_id)→ 待办集(todoset_id)→ 待办清单(todolist_id)→ 待办项;留言板需 message_board_id;人员为 person_id。bucket_id 与 project_id 指同一实体。创建待办清单需 bucket_id、todoset_id、name;创建待办需 bucket_id、todolist_id、content,可选 assignee_ids、due_on、starts_on(YYYY-MM-DD)、notify、completion_subscriber_ids。创建消息需 bucket_id、message_board_id、subject,content 为 HTML 正文,status 设为 active 立即发布。权限管理需 project_id 以及 grant、revoke、create 中至少一项。列表端点采用基于页的分页,需继续拉取直到无更多结果。
六、适用场景 适用于按项目自动化创建并整理待办、批量发帖与更新消息、维护项目成员与访问权限,以及把待办按颜色分组归档等。
七、限制与已知陷阱
- 所有富文本字段仅支持 HTML,不支持 Markdown,无效标签可能被静默剥离;更新消息时需包含完整正文而非差异部分。
- 所有 ID 均为整数;人员名称需先经 GET_PEOPLE 解析为 ID。
- 消息 status=draft 可能触发 HTTP 400,建议使用 status=active。
- bucket_id 与 message_board_id 必须属于同一项目,否则失败或路由错误。
- 分组颜色仅限固定调色板,不支持任意 hex/rgb。
- 项目(bucket)可含多个待办集,选错 todoset_id 会把清单建到错误分区;创建前应检查是否已有近似清单。
- Basecamp API 有速率限制,需分散快速连续请求,大项目应谨慎分页。
- 面向用户的链接应优先使用响应中的 app_url,不要手动用 ID 拼接 URL。
- 创建用户通过 create 会在一步内同时授予项目访问权限。
八、常用工具速查 列项目 BASECAMP_GET_PROJECTS;获取项目 BASECAMP_GET_PROJECT;项目详情 BASECAMP_GET_PROJECTS_BY_PROJECT_ID;待办集 BASECAMP_GET_BUCKETS_TODOSETS;列待办清单 BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS;获取待办清单 BASECAMP_GET_BUCKETS_TODOLISTS;创建待办清单 BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS;创建待办 BASECAMP_POST_BUCKETS_TODOLISTS_TODOS(备选 BASECAMP_CREATE_TODO);列待办 BASECAMP_GET_BUCKETS_TODOLISTS_TODOS;列待办分组 BASECAMP_GET_TODOLIST_GROUPS;创建分组 BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS(备选 BASECAMP_CREATE_TODOLIST_GROUP);获取留言板 BASECAMP_GET_MESSAGE_BOARD;创建消息 BASECAMP_CREATE_MESSAGE(备选 BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES);获取消息 BASECAMP_GET_MESSAGE;更新消息 BASECAMP_PUT_BUCKETS_MESSAGES;列全部人员 BASECAMP_GET_PEOPLE;列项目人员 BASECAMP_LIST_PROJECT_PEOPLE;管理访问 BASECAMP_PUT_PROJECTS_PEOPLE_USERS。