OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  basecamp-automation:自动化 Basecamp 项目管理、待办事项及日程

basecamp-automation:自动化 Basecamp 项目管理、待办事项及日程

 
  elasticsearch ·  2026-02-16 04:38:27 · 3 次点击  · 0 条评论  

名称: basecamp-automation
描述: 通过 Rube MCP (Composio) 自动化 Basecamp 项目管理、待办事项、消息、人员及待办列表组织。始终优先使用搜索工具获取最新模式。
requires:
mcp: [rube]


通过 Rube MCP 实现 Basecamp 自动化

通过 Composio 的 Basecamp 工具包,自动化 Basecamp 操作,包括项目管理、待办列表创建、任务管理、留言板发布、人员管理以及待办分组组织。

前提条件

  • 必须已连接 Rube MCP (确保 RUBE_SEARCH_TOOLS 可用)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立活跃的 Basecamp 连接,并指定工具包 basecamp
  • 始终先调用 RUBE_SEARCH_TOOLS 以获取当前工具模式

设置

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

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

核心工作流

1. 管理待办列表和任务

使用场景:用户希望在 Basecamp 项目中创建待办列表、添加任务或组织工作。

工具调用顺序
1. BASECAMP_GET_PROJECTS - 列出项目以找到目标 bucket_id [前提]
2. BASECAMP_GET_BUCKETS_TODOSETS - 获取项目内的待办事项集 [前提]
3. BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - 列出现有待办列表以避免重复 [可选]
4. BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS - 在待办事项集中创建新的待办列表 [创建列表必需]
5. BASECAMP_GET_BUCKETS_TODOLISTS - 获取特定待办列表的详细信息 [可选]
6. BASECAMP_POST_BUCKETS_TODOLISTS_TODOS - 在待办列表中创建待办事项 [创建任务必需]
7. BASECAMP_CREATE_TODO - 创建单个待办事项的替代工具 [替代方案]
8. BASECAMP_GET_BUCKETS_TODOLISTS_TODOS - 列出待办列表中的待办事项 [可选]

创建待办列表的关键参数
- bucket_id:整数类型的项目/容器 ID (来自 GET_PROJECTS)
- todoset_id:整数类型的待办事项集 ID (来自 GET_BUCKETS_TODOSETS)
- name:待办列表的标题 (必需)
- description:HTML 格式的描述 (支持富文本)

创建待办事项的关键参数
- bucket_id:整数类型的项目/容器 ID
- todolist_id:整数类型的待办列表 ID
- content:待办事项的内容 (必需)
- description:关于待办事项的 HTML 详细信息
- assignee_ids:人员 ID 的整数数组
- due_on:截止日期,格式为 YYYY-MM-DD
- starts_on:开始日期,格式为 YYYY-MM-DD
- notify:布尔值,是否通知被分配者 (默认为 false)
- completion_subscriber_ids:完成后需通知的人员 ID

常见问题
- 一个项目 (容器) 可以包含多个待办事项集;选择错误的 todoset_id 会导致列表创建在错误的区域。
- 创建前始终检查现有待办列表,以避免名称近似重复。
- 成功返回的负载中包含面向用户的 URL (app_url, app_todos_url);应优先返回这些 URL 而非原始 ID。
- 所有 ID (bucket_id, todoset_id, todolist_id) 都是整数,不是字符串。
- 描述仅支持 HTML 格式,不支持 Markdown。

2. 发布和管理消息

使用场景:用户希望向项目留言板发布消息或更新现有消息。

工具调用顺序
1. BASECAMP_GET_PROJECTS - 查找目标项目和 bucket_id [前提]
2. BASECAMP_GET_MESSAGE_BOARD - 获取项目的留言板 ID [前提]
3. BASECAMP_CREATE_MESSAGE - 在留言板上创建新消息 [必需]
4. BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES - 替代的消息创建工具 [备用方案]
5. BASECAMP_GET_MESSAGE - 按 ID 读取特定消息 [可选]
6. BASECAMP_PUT_BUCKETS_MESSAGES - 更新现有消息 [可选]

关键参数
- bucket_id:整数类型的项目/容器 ID
- message_board_id:整数类型的留言板 ID (来自 GET_MESSAGE_BOARD)
- subject:消息标题 (必需)
- content:消息的 HTML 正文
- status:设置为 "active" 可立即发布
- category_id:消息类型分类 (可选)
- subscriptions:需要通知的人员 ID 数组;省略则通知所有项目成员

常见问题
- status="draft" 可能导致 HTTP 400 错误;使用 status="active" 是可靠选项。
- bucket_idmessage_board_id 必须属于同一项目;不匹配会导致失败或路由错误。
- 消息内容仅支持 HTML 标签,不支持 Markdown。
- 通过 PUT_BUCKETS_MESSAGES 更新会替换整个正文——需要包含完整的修正内容,而不仅仅是差异部分。
- 优先使用响应中的 app_url 作为面向用户的确认链接。
- CREATE_MESSAGEPOST_BUCKETS_MESSAGE_BOARDS_MESSAGES 功能相同;优先使用 CREATE_MESSAGE,如果失败则回退到 POST

3. 管理人员和访问权限

使用场景:用户希望列出人员、管理项目访问权限或添加新用户。

工具调用顺序
1. BASECAMP_GET_PEOPLE - 列出当前用户可见的所有人员 [必需]
2. BASECAMP_GET_PROJECTS - 查找目标项目 [前提]
3. BASECAMP_LIST_PROJECT_PEOPLE - 列出特定项目的人员 [必需]
4. BASECAMP_GET_PROJECTS_PEOPLE - 列出项目成员的替代方法 [替代方案]
5. BASECAMP_PUT_PROJECTS_PEOPLE_USERS - 授予或撤销项目访问权限 [更改访问权限必需]

PUT_PROJECTS_PEOPLE_USERS 的关键参数
- project_id:整数类型的项目 ID
- grant:要添加到项目的人员 ID 整数数组
- revoke:要从项目中移除的人员 ID 整数数组
- create:用于创建新用户的对象数组,包含 nameemail_address 以及可选的 company_nametitle
- 必须至少提供 grantrevokecreate 中的一个

常见问题
- 人员 ID 是整数;始终先通过 GET_PEOPLE 将姓名解析为 ID。
- 用于人员管理的 project_id 与其他操作中的 bucket_id 是同一实体。
- LIST_PROJECT_PEOPLEGET_PROJECTS_PEOPLE 几乎相同;可任选其一使用。
- 通过 create 创建用户也会一步授予他们项目访问权限。

4. 使用分组组织待办事项

使用场景:用户希望将待办列表中的待办事项组织成颜色编码的分组。

工具调用顺序
1. BASECAMP_GET_PROJECTS - 查找目标项目 [前提]
2. BASECAMP_GET_BUCKETS_TODOLISTS - 获取待办列表的详细信息 [前提]
3. BASECAMP_GET_TODOLIST_GROUPS - 列出待办列表中的现有分组 [可选]
4. BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS - 替代的分组列表工具 [替代方案]
5. BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS - 在待办列表中创建新分组 [必需]
6. BASECAMP_CREATE_TODOLIST_GROUP - 替代的分组创建工具 [替代方案]

关键参数
- bucket_id:整数类型的项目/容器 ID
- todolist_id:整数类型的待办列表 ID
- name:分组标题 (必需)
- color:视觉颜色标识符——可选值:white, red, orange, yellow, green, blue, aqua, purple, gray, pink, brown
- status:列表筛选条件——"archived""trashed" (省略则获取活跃分组)

常见问题
- POST_BUCKETS_TODOLISTS_GROUPSCREATE_TODOLIST_GROUP 几乎相同;可任选其一使用。
- 颜色值必须来自固定的调色板;不支持任意的十六进制/RGB 值。
- 分组是待办列表内的子部分,不是独立的实体。

5. 浏览和检查项目

使用场景:用户希望列出项目、获取项目详情或探索项目结构。

工具调用顺序
1. BASECAMP_GET_PROJECTS - 列出所有活跃项目 [必需]
2. BASECAMP_GET_PROJECT - 获取特定项目的全面详细信息 [可选]
3. BASECAMP_GET_PROJECTS_BY_PROJECT_ID - 替代的项目详情检索工具 [替代方案]

关键参数
- status:按 "archived""trashed" 筛选;省略则获取活跃项目
- project_id:用于详细检索的整数类型项目 ID

常见问题
- 项目按最新创建的顺序排序。
- 响应包含一个 dock 数组,其中列出了工具 (todoset, message_board 等) 及其 ID。
- 使用 dock 中的工具 ID 来查找下游操作所需的 todoset_idmessage_board_id 等。

通用模式

ID 解析

Basecamp 使用分层 ID 结构。始终自上而下解析:
- 项目 (bucket_id)BASECAMP_GET_PROJECTS —— 按名称查找,捕获 id
- 待办事项集 (todoset_id):在项目 dock 中找到或通过 BASECAMP_GET_BUCKETS_TODOSETS 获取
- 留言板 (message_board_id):在项目 dock 中找到或通过 BASECAMP_GET_MESSAGE_BOARD 获取
- 待办列表 (todolist_id)BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS
- 人员 (person_id)BASECAMP_GET_PEOPLEBASECAMP_LIST_PROJECT_PEOPLE
- 注意:bucket_idproject_id 在不同上下文中指向同一实体

分页

Basecamp 在列表端点使用基于页面的分页:
- 响应头或正文可能指示还有更多页面可用
- GET_PROJECTSGET_BUCKETS_TODOSETS_TODOLISTS 等列表端点返回分页结果
- 持续获取直到没有更多结果返回

内容格式化

  • 所有富文本字段使用 HTML,而非 Markdown
  • 将内容包裹在 <div> 标签中;使用 <strong><em><ul><ol><li><a> 等标签
  • 示例:<div><strong>重要:</strong> 请在周五前完成</div>

已知问题

ID 格式

  • 所有 Basecamp ID 都是整数,不是字符串或 UUID
  • bucket_id = project_id (同一实体,不同工具中的参数名不同)
  • 待办事项集 ID、待办列表 ID 和留言板 ID 可在项目的 dock 数组中找到
  • 人员 ID 是整数;操作前通过 GET_PEOPLE 解析姓名

状态字段

  • 消息的 status="draft" 可能导致 HTTP 400 错误;始终使用 status="active"
  • 项目/待办列表状态筛选器:"archived""trashed",或省略以获取活跃的

内容格式

  • 仅支持 HTML,不支持 Markdown
  • 更新会替换整个正文,而非部分差异
  • 无效的 HTML 标签可能会被静默移除

速率限制

  • Basecamp API 有速率限制;请间隔开快速连续的请求
  • 包含大量待办事项的大型项目应谨慎处理分页

URL 处理

  • 优先使用 API 响应中的 app_url 作为面向用户的链接
  • 不要根据 ID 手动重构 Basecamp URL

快速参考

任务 工具标识 关键参数
列出项目 BASECAMP_GET_PROJECTS status
获取项目 BASECAMP_GET_PROJECT project_id
获取项目详情 BASECAMP_GET_PROJECTS_BY_PROJECT_ID project_id
获取待办事项集 BASECAMP_GET_BUCKETS_TODOSETS bucket_id, todoset_id
列出待办列表 BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS bucket_id, todoset_id
获取待办列表 BASECAMP_GET_BUCKETS_TODOLISTS bucket_id, todolist_id
创建待办列表 BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS bucket_id, todoset_id, name
创建待办事项 BASECAMP_POST_BUCKETS_TODOLISTS_TODOS bucket_id, todolist_id, content
创建待办事项 (替代) BASECAMP_CREATE_TODO bucket_id, todolist_id, content
列出待办事项 BASECAMP_GET_BUCKETS_TODOLISTS_TODOS bucket_id, todolist_id
列出待办分组 BASECAMP_GET_TODOLIST_GROUPS bucket_id, todolist_id
创建待办分组 BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS bucket_id, todolist_id, name, color
创建待办分组 (替代) BASECAMP_CREATE_TODOLIST_GROUP bucket_id, todolist_id, name
获取留言板 BASECAMP_GET_MESSAGE_BOARD bucket_id, message_board_id
创建消息 BASECAMP_CREATE_MESSAGE bucket_id, message_board_id, subject, status
创建消息 (替代) BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES bucket_id, message_board_id, subject
获取消息 BASECAMP_GET_MESSAGE bucket_id, message_id
更新消息 BASECAMP_PUT_BUCKETS_MESSAGES bucket_id, message_id
列出所有人员 BASECAMP_GET_PEOPLE (无)
列出项目人员 BASECAMP_LIST_PROJECT_PEOPLE project_id
管理访问权限 BASECAMP_PUT_PROJECTS_PEOPLE_USERS project_id, grant, revoke, create
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor