名称: airtable-automation
描述: "通过 Rube MCP (Composio) 自动化 Airtable 任务:记录、库、表、字段、视图。务必先搜索工具以获取当前架构。"
requires:
mcp: [rube]
通过 Rube MCP 使用 Composio 的 Airtable 工具包来自动化 Airtable 操作。
RUBE_SEARCH_TOOLS 可用)RUBE_MANAGE_CONNECTIONS 建立活跃的 Airtable 连接,并指定工具包 airtableRUBE_SEARCH_TOOLS 以获取最新的工具架构获取 Rube MCP:在您的客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥——只需添加端点即可工作。
RUBE_SEARCH_TOOLS 有响应RUBE_MANAGE_CONNECTIONS,指定工具包 airtable使用场景:用户希望创建、读取、更新或删除记录
工具调用顺序:
1. AIRTABLE_LIST_BASES - 发现可用库 [先决条件]
2. AIRTABLE_GET_BASE_SCHEMA - 检查表结构 [先决条件]
3. AIRTABLE_LIST_RECORDS - 列出/筛选记录 [可选]
4. AIRTABLE_CREATE_RECORD / AIRTABLE_CREATE_RECORDS - 创建记录 [可选]
5. AIRTABLE_UPDATE_RECORD / AIRTABLE_UPDATE_MULTIPLE_RECORDS - 更新记录 [可选]
6. AIRTABLE_DELETE_RECORD / AIRTABLE_DELETE_MULTIPLE_RECORDS - 删除记录 [可选]
关键参数:
- baseId:库 ID(以 app 开头,例如 appXXXXXXXXXXXXXX)
- tableIdOrName:表 ID(以 tbl 开头)或表名
- fields:字段名到值的映射对象
- recordId:记录 ID(以 rec 开头),用于更新/删除
- filterByFormula:用于筛选的 Airtable 公式
- typecast:设置为 true 以启用自动类型转换
常见问题:
- pageSize 上限为 100;使用偏移分页;在分页间更改筛选条件可能导致记录跳过或重复
- CREATE_RECORDS 每次请求硬性限制为 10 条记录;批量导入时需分块处理
- 字段名区分大小写,必须与架构完全匹配
- 字段名错误会导致 422 UNKNOWN_FIELD_NAME;权限问题会导致 403
- INVALID_MULTIPLE_CHOICE_OPTIONS 错误可能需要设置 typecast=true
使用场景:用户希望使用公式查找特定记录
工具调用顺序:
1. AIRTABLE_GET_BASE_SCHEMA - 验证字段名和类型 [先决条件]
2. AIRTABLE_LIST_RECORDS - 使用 filterByFormula 进行查询 [必需]
3. AIRTABLE_GET_RECORD - 获取完整的记录详情 [可选]
关键参数:
- filterByFormula:Airtable 公式(例如 {Status}='Done')
- sort:排序对象数组
- fields:要返回的字段名数组
- maxRecords:所有分页中的最大总记录数
- offset:来自先前响应的分页游标
常见问题:
- 公式中的字段名必须用 {} 包裹,且与架构完全匹配
- 字符串值必须加引号:{Status}='Active',而非 {Status}=Active
- 语法错误或不存在的字段会导致 422 INVALID_FILTER_BY_FORMULA
- Airtable 速率限制:每个库约每秒 5 次请求;遇到 429 时需处理 Retry-After
使用场景:用户希望创建或修改表字段
工具调用顺序:
1. AIRTABLE_GET_BASE_SCHEMA - 检查当前架构 [先决条件]
2. AIRTABLE_CREATE_FIELD - 创建新字段 [可选]
3. AIRTABLE_UPDATE_FIELD - 重命名/描述字段 [可选]
4. AIRTABLE_UPDATE_TABLE - 更新表元数据 [可选]
关键参数:
- name:字段名
- type:字段类型(singleLineText、number、singleSelect 等)
- options:类型特定选项(如 select 类型的选项、number 类型的精度)
- description:字段描述
常见问题:
- UPDATE_FIELD 仅更改名称/描述,不更改类型/选项;如需更改类型,需创建替换字段并迁移数据
- 计算字段(公式、汇总、查找)无法通过 API 创建
- 类型选项缺失或格式错误会导致 422
使用场景:用户希望查看或添加记录评论
工具调用顺序:
1. AIRTABLE_LIST_COMMENTS - 列出记录的评论 [必需]
关键参数:
- baseId:库 ID
- tableIdOrName:表标识符
- recordId:记录 ID(17 个字符,以 rec 开头)
- pageSize:每页评论数(最大 100)
常见问题:
- 记录 ID 必须是 17 个字符,且以 rec 开头
比较:
- {Status}='Done' - 等于
- {Priority}>1 - 大于
- {Name}!='' - 非空
函数:
- AND({A}='x', {B}='y') - 两个条件都满足
- OR({A}='x', {A}='y') - 任一条件满足
- FIND('test', {Name})>0 - 包含文本
- IS_BEFORE({Due Date}, TODAY()) - 日期比较
转义规则:
- 值中的单引号:用两个单引号表示({Name}='John''s Company')
pageSize(最大 100)offset 字符串offset 原样传递给下一个请求ID 格式:
- 库 ID:appXXXXXXXXXXXXXX(17 个字符)
- 表 ID:tblXXXXXXXXXXXXXX(17 个字符)
- 记录 ID:recXXXXXXXXXXXXXX(17 个字符)
- 字段 ID:fldXXXXXXXXXXXXXX(17 个字符)
批量限制:
- CREATE_RECORDS:每次请求最多 10 条
- UPDATE_MULTIPLE_RECORDS:每次请求最多 10 条
- DELETE_MULTIPLE_RECORDS:每次请求最多 10 条
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出库 | AIRTABLE_LIST_BASES | (无) |
| 获取架构 | AIRTABLE_GET_BASE_SCHEMA | baseId |
| 列出记录 | AIRTABLE_LIST_RECORDS | baseId, tableIdOrName |
| 获取记录 | AIRTABLE_GET_RECORD | baseId, tableIdOrName, recordId |
| 创建记录 | AIRTABLE_CREATE_RECORD | baseId, tableIdOrName, fields |
| 批量创建记录 | AIRTABLE_CREATE_RECORDS | baseId, tableIdOrName, records |
| 更新记录 | AIRTABLE_UPDATE_RECORD | baseId, tableIdOrName, recordId, fields |
| 批量更新记录 | AIRTABLE_UPDATE_MULTIPLE_RECORDS | baseId, tableIdOrName, records |
| 删除记录 | AIRTABLE_DELETE_RECORD | baseId, tableIdOrName, recordId |
| 创建字段 | AIRTABLE_CREATE_FIELD | baseId, tableIdOrName, name, type |
| 更新字段 | AIRTABLE_UPDATE_FIELD | baseId, tableIdOrName, fieldId |
| 更新表 | AIRTABLE_UPDATE_TABLE | baseId, tableIdOrName, name |
| 列出评论 | AIRTABLE_LIST_COMMENTS | baseId, tableIdOrName, recordId |