用途
Coda Automation 用于通过 Rube MCP(Composio)自动化 Coda 的文档与数据操作。它面向需要在 Coda 中批量或程序化处理文档、页面、表格、行、公式、权限和发布设置的用户。
主要能力
- 搜索和浏览文档:查找、列出或检查 Coda 文档,解析 Coda URL 为文档/页面/表格 ID,列出文档内页面并获取页面详情。
- 表格与数据操作:列出表格、列定义和行数据,按查询搜索行,按 ID 获取行,插入或更新行(upsert),获取列详情,以及推送按钮。
- 公式管理:列出文档中的命名公式,获取特定公式的当前值。
- 导出文档内容:将文档或页面导出为 HTML 或 Markdown,导出为异步任务,需轮询状态。
- 权限与共享:查看共享元数据和访问控制列表设置,向用户或邮箱授予访问权限。
- 发布与自定义:发布或取消发布文档,为已发布文档添加自定义域名,获取文档分类。
使用方式
前置条件:
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)。
- 通过 RUBE_MANAGE_CONNECTIONS 激活 Coda 连接,toolkit 为 coda。
- 始终先调用 RUBE_SEARCH_TOOLS 获取当前工具架构。
设置步骤:
- 在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器,无需 API 密钥。
- 确认 RUBE_SEARCH_TOOLS 有响应,验证 Rube MCP 可用。
- 调用 RUBE_MANAGE_CONNECTIONS,toolkit 为 coda。
- 若连接不是 ACTIVE,按返回的认证链接完成 Coda 认证。
- 确认连接状态为 ACTIVE 后再运行工作流。
核心工作流示例:
- 搜索和浏览文档:使用 CODA_SEARCH_DOCS 或 CODA_LIST_AVAILABLE_DOCS 查找文档;使用 CODA_RESOLVE_BROWSER_LINK 将 Coda URL 解析为 ID;使用 CODA_LIST_PAGES 和 CODA_GET_A_PAGE 查看页面。
- 表格与数据:先 CODA_LIST_TABLES 和 CODA_LIST_COLUMNS,再 CODA_LIST_TABLE_ROWS 或 CODA_SEARCH_ROW;写入使用 CODA_UPSERT_ROWS,需指定 keyColumns。
- 公式:CODA_LIST_FORMULAS 列出公式,CODA_GET_A_FORMULA 获取值。
- 导出:CODA_BEGIN_CONTENT_EXPORT 启动导出,CODA_CONTENT_EXPORT_STATUS 轮询状态。
- 权限:CODA_GET_SHARING_METADATA 查看设置,CODA_ADD_PERMISSION 授予权限。
- 发布:CODA_PUBLISH_DOC 发布,CODA_UNPUBLISH_DOC 取消发布,CODA_ADD_CUSTOM_DOMAIN 添加自定义域名。
常见模式:
- ID 解析:文档 URL 通过 CODA_RESOLVE_BROWSER_LINK 转为 docId;表格名通过 CODA_LIST_TABLES 转为 tableId;列名通过 CODA_LIST_COLUMNS 转为 columnId。
- 分页:Coda 使用基于游标的分页,检查 nextPageToken 并在后续请求中作为 pageToken 传入。
- 行 upsert:先获取列 ID,构建行对象,设置 keyColumns 为唯一标识列,再调用 CODA_UPSERT_ROWS。
适用场景
- 需要批量读取或更新 Coda 表格数据的自动化流程。
- 需要将 Coda 文档导出为 HTML 或 Markdown 进行归档或转换。
- 需要程序化管理 Coda 文档权限、共享设置或发布状态。
- 需要解析 Coda 链接并获取文档、页面、表格的结构信息。
限制与注意事项
- 文档 ID 为字母数字字符串;表格/列/行 ID 为带前缀的字符串(如 'grid-abc'、'c-xyz')。
- 行数据值必须匹配列类型;日期列期望 ISO 8601 格式;选择/多选列期望精确选项值;人员列期望邮箱地址。
- 表格名可能包含空格,必要时需 URL 编码。
- CODA_UPSERT_ROWS 在 keyColumns 无匹配时插入,有匹配时更新;keyColumns 必须引用具有唯一值的列。
- 导出为异步操作,需轮询直到状态为 'complete';导出 URL 是临时的,应及时下载;轮询间隔建议 2-5 秒以避免速率限制。
- 添加权限默认发送邮件通知,可用 suppressEmail 阻止。
- 发布使文档对任何有链接的人可访问;自定义域名需要 DNS 配置;取消发布移除公开访问但保留共享访问。
- Coda API 有按令牌的速率限制,遇到 429 响应应实现退避。
- 公式名称区分大小写。
- 页面名称在文档内可能不唯一,建议使用页面 ID。
- 搜索结果显示与用户共享的文档,而不仅是拥有的文档。
- 并非所有情况下都能通过 API 移除权限,需检查 ACL 设置。