名称: basecamp-automation
描述: 通过 Rube MCP (Composio) 自动化 Basecamp 项目管理、待办事项、消息、人员及待办列表组织。始终优先使用搜索工具获取最新模式。
requires:
mcp: [rube]
通过 Composio 的 Basecamp 工具包,自动化 Basecamp 操作,包括项目管理、待办列表创建、任务管理、留言板发布、人员管理以及待办分组组织。
RUBE_SEARCH_TOOLS 可用)RUBE_MANAGE_CONNECTIONS 建立活跃的 Basecamp 连接,并指定工具包 basecampRUBE_SEARCH_TOOLS 以获取当前工具模式获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥——只需添加端点即可工作。
RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 可用RUBE_MANAGE_CONNECTIONS,指定工具包 basecamp使用场景:用户希望在 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。
使用场景:用户希望向项目留言板发布消息或更新现有消息。
工具调用顺序:
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_id 和 message_board_id 必须属于同一项目;不匹配会导致失败或路由错误。
- 消息内容仅支持 HTML 标签,不支持 Markdown。
- 通过 PUT_BUCKETS_MESSAGES 更新会替换整个正文——需要包含完整的修正内容,而不仅仅是差异部分。
- 优先使用响应中的 app_url 作为面向用户的确认链接。
- CREATE_MESSAGE 和 POST_BUCKETS_MESSAGE_BOARDS_MESSAGES 功能相同;优先使用 CREATE_MESSAGE,如果失败则回退到 POST。
使用场景:用户希望列出人员、管理项目访问权限或添加新用户。
工具调用顺序:
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:用于创建新用户的对象数组,包含 name、email_address 以及可选的 company_name、title
- 必须至少提供 grant、revoke 或 create 中的一个
常见问题:
- 人员 ID 是整数;始终先通过 GET_PEOPLE 将姓名解析为 ID。
- 用于人员管理的 project_id 与其他操作中的 bucket_id 是同一实体。
- LIST_PROJECT_PEOPLE 和 GET_PROJECTS_PEOPLE 几乎相同;可任选其一使用。
- 通过 create 创建用户也会一步授予他们项目访问权限。
使用场景:用户希望将待办列表中的待办事项组织成颜色编码的分组。
工具调用顺序:
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_GROUPS 和 CREATE_TODOLIST_GROUP 几乎相同;可任选其一使用。
- 颜色值必须来自固定的调色板;不支持任意的十六进制/RGB 值。
- 分组是待办列表内的子部分,不是独立的实体。
使用场景:用户希望列出项目、获取项目详情或探索项目结构。
工具调用顺序:
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_id、message_board_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_PEOPLE 或 BASECAMP_LIST_PROJECT_PEOPLE
- 注意:bucket_id 和 project_id 在不同上下文中指向同一实体
Basecamp 在列表端点使用基于页面的分页:
- 响应头或正文可能指示还有更多页面可用
- GET_PROJECTS、GET_BUCKETS_TODOSETS_TODOLISTS 等列表端点返回分页结果
- 持续获取直到没有更多结果返回
<div> 标签中;使用 <strong>、<em>、<ul>、<ol>、<li>、<a> 等标签<div><strong>重要:</strong> 请在周五前完成</div>bucket_id = project_id (同一实体,不同工具中的参数名不同)dock 数组中找到GET_PEOPLE 解析姓名status="draft" 可能导致 HTTP 400 错误;始终使用 status="active""archived"、"trashed",或省略以获取活跃的app_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 |