mcpField
C
coda-automation

coda-automation

github.com/sickn33ドキュメント48.7k87 回インストール1 日前に更新
リポジトリ

coda-automation について

coda-automationは、Rube MCPとComposioのCodaツールキットを通じて、Codaの文書やデータを操作するスキルです。文書検索、テーブル操作、数式、エクスポート、権限管理、公開に対応し、接続確認と変更時の慎重さも扱います。

主な機能

  1. 01文書の検索と確認
  2. 02テーブル行の読み取りと更新
  3. 03数式の一覧と値の取得
  4. 04ページや文書のエクスポート
  5. 05共有設定と権限の確認
  6. 06文書の公開と解除

活用シーン

  1. 01文書を検索してページを確認
  2. 02Codaテーブルの行を検索または更新
  3. 03文書をHTMLまたはMarkdownで出力
  4. 04アクセス権付与前に共有設定を確認

MCP 対応

Rube MCPを介してComposioのCodaツールキットを利用します。操作前にCoda接続を有効にし、最新のツールスキーマを確認します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill coda-automation

インストール後、Claude Code で/coda-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による Coda の自動化

Rube MCP を介して、Composio の Coda ツールキットを使い、Coda のドキュメントやデータ操作を自動化します。

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット coda を指定して RUBE_MANAGE_CONNECTIONS から有効な Coda 接続を確立していること
  • 必ず最初に RUBE_SEARCH_TOOLS を呼び出し、最新のツールスキーマを取得してください

セットアップ

Rube MCP の取得:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。エンドポイントを追加しても Coda の認証は行われません。ホストでサポートされている認証済み接続を使用してください。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. ツールキット coda を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクを開き、Coda の認証を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

書き込みを行う前に、正確なドキュメント/テーブル/行 ID と、依頼された変更を確認してください。権限を付与すると受信者に通知が届く場合があり、公開するとコンテンツが一般公開されます。これらの操作には、受信者/アクセス範囲または公開範囲を明示したユーザーからの具体的な依頼が必要です。ボタンを押すだけの呼び出しでも、セルの編集にとどまらず外部アクションが実行される場合があります。まずその影響を確認してください。行の書き込みは非同期で行われる場合があります。対応している場合は、返された変更/リクエストのステータスを確認してから、読み戻してください。アップサートを再試行する前にタイムアウトの状態を確認し、数式/計算列を上書きしないでください。一時的なエクスポート URL や非公開ドキュメントの内容を公開レポートに含めないでください。ポーリングには上限を設け、失敗または期限切れのジョブにも対処してください。

1. ドキュメントの検索と閲覧

使用する場面:ユーザーが Coda ドキュメントを検索、一覧表示、または確認したい場合

ツールの順序:

  1. CODA_SEARCH_DOCS または CODA_LIST_AVAILABLE_DOCS - ドキュメントを検索します[必須]
  2. CODA_RESOLVE_BROWSER_LINK - Coda URL をドキュメント/ページ/テーブル ID に解決します[代替手段]
  3. CODA_LIST_PAGES - ドキュメント内のページを一覧表示します[任意]
  4. CODA_GET_A_PAGE - 特定のページの詳細を取得します[任意]

主なパラメーター:

  • query:ドキュメントを検索するための検索語
  • isOwner:ユーザーが所有するドキュメントに絞り込みます
  • docId:ページ操作に使用するドキュメント ID
  • pageIdOrName:ページの識別子または名前
  • url:URL の解決に使用するブラウザー URL

注意点:

  • ドキュメント ID は英数字の文字列です(例:'AbCdEfGhIj')
  • Coda URL を API ID に変換するには、CODA_RESOLVE_BROWSER_LINK が最適です
  • ドキュメント内でページ名が重複している場合があるため、ページ ID を優先してください
  • 検索結果には、ユーザーが所有するドキュメントだけでなく、共有されているドキュメントも含まれます
2. テーブルとデータの操作

使用する場面:ユーザーがテーブルデータを読み取り、書き込み、またはクエリしたい場合

ツールの順序:

  1. CODA_LIST_TABLES - ドキュメント内のテーブルを一覧表示します[前提条件]
  2. CODA_LIST_COLUMNS - テーブルの列定義を取得します[前提条件]
  3. CODA_LIST_TABLE_ROWS - オプションのフィルターを指定して、すべての行を一覧表示します[必須]
  4. CODA_SEARCH_ROW - クエリで特定の行を検索します[代替手段]
  5. CODA_GET_A_ROW - ID を指定して特定の行を取得します[任意]
  6. CODA_UPSERT_ROWS - テーブルに行を挿入または更新します[任意]
  7. CODA_GET_A_COLUMN - 特定の列の詳細を取得します[任意]

主なパラメーター:

  • docId:テーブルを含むドキュメント ID
  • tableIdOrName:テーブルの識別子または名前
  • query:行の検索に使用するフィルタークエリ
  • rows:アップサート操作に使用する行オブジェクトの配列
  • keyColumns:アップサート時の照合に使用する列 ID
  • sortBy:結果の並べ替えに使用する列
  • useColumnNames:行データで ID の代わりに列名を使用します

注意点:

  • テーブル名にスペースが含まれる場合があります。必要に応じて URL エンコードしてください
  • CODA_UPSERT_ROWS は、keyColumns に一致する行がない場合は挿入し、一致する行が見つかった場合は更新します
  • 確実にアップサートするには、keyColumns で一意の値を持つ列を指定する必要があります
  • 列 ID は列名とは異なります。まず列を一覧表示し、名前と ID を対応付けてください
  • useColumnNames: true を指定すると、行データで人が読みやすい名前を使用できます
  • 行データの値は、列の型(テキスト、数値、日付など)に一致している必要があります
3. 数式を管理する

使用するタイミング:ドキュメント内の数式を一覧表示または評価したい場合

ツールの順序:

  1. CODA_LIST_FORMULAS - ドキュメント内の名前付き数式をすべて一覧表示します[必須]
  2. CODA_GET_A_FORMULA - 特定の数式の現在の値を取得します[任意]

主なパラメーター:

  • docId:ドキュメント ID
  • formulaIdOrName:数式の識別子または名前

注意点:

  • 数式は、ドキュメント内で定義された名前付きの計算式です
  • 数式の値はサーバー側で計算され、結果には現在の状態が反映されます
  • 数式名では大文字と小文字が区別されます
4. ドキュメントの内容をエクスポートする

使用するタイミング:ドキュメントまたはページを HTML または Markdown 形式でエクスポートしたい場合

ツールの順序:

  1. CODA_BEGIN_CONTENT_EXPORT - エクスポートジョブを開始します[必須]
  2. CODA_CONTENT_EXPORT_STATUS - 完了するまでエクスポートの状態をポーリングします[必須]

主なパラメーター:

  • docId:エクスポートするドキュメント ID
  • outputFormat:エクスポート形式('html' または 'markdown')
  • pageIdOrName:エクスポートする特定のページ(任意。ドキュメント全体を対象とする場合は省略します)
  • requestId:状態のポーリングに使用するエクスポートリクエスト ID

注意点:

  • エクスポートは非同期です。status が 'complete' になるまで状態をポーリングしてください
  • 大きなドキュメントのエクスポートには、かなり時間がかかる場合があります
  • 完了時のレスポンスに含まれるエクスポート URL は一時的なものです。速やかにダウンロードしてください
  • ポーリングの頻度が高すぎるとレート制限に達する場合があります。2~5 秒間隔で実行してください
5. 権限と共有を管理する

使用するタイミング:ドキュメントへのアクセス権を確認または管理したい場合

ツールの順序:

  1. CODA_GET_SHARING_METADATA - 現在の共有設定を確認します[必須]
  2. CODA_GET_ACL_SETTINGS - アクセス制御リストの設定を取得します[任意]
  3. CODA_ADD_PERMISSION - ユーザーまたはメールアドレスにアクセス権を付与します[任意]

主なパラメーター:

  • docId:ドキュメント ID
  • access:権限レベル('readonly'、'write'、'comment')
  • principal:受信者のメールアドレスまたはユーザー ID を含むオブジェクト
  • suppressEmail:共有通知メールを省略するかどうか

注意点:

  • 権限レベルは 'readonly'、'write'、'comment' です
  • 権限を追加すると、デフォルトでメール通知が送信されます。送信を防ぐには suppressEmail を使用してください
  • すべてのケースで API 経由の権限削除ができるわけではありません。ACL 設定を確認してください
6. ドキュメントを公開してカスタマイズする

使用するタイミング:ドキュメントを公開する、またはカスタムドメインを管理したい場合

ツールの順序:

  1. CODA_PUBLISH_DOC - ドキュメントを一般公開します[必須]
  2. CODA_UNPUBLISH_DOC - ドキュメントの公開を解除します[任意]
  3. CODA_ADD_CUSTOM_DOMAIN - 公開済みドキュメントにカスタムドメインを追加します[任意]
  4. CODA_GET_DOC_CATEGORIES - 発見しやすくするためのドキュメントカテゴリを取得します[任意]

主なパラメーター:

  • docId:ドキュメント ID
  • slug:公開するドキュメントのカスタム URL スラッグ
  • categoryIds:見つけやすくするためのカテゴリ ID

注意点:

  • ドキュメントを公開すると、リンクを知っている人なら誰でもアクセスできるようになります
  • カスタムドメインには DNS 設定が必要です
  • 公開を解除すると一般公開アクセスは削除されますが、共有アクセスは維持されます

よくあるパターン

ID の解決

ドキュメント URL -> ドキュメント ID:

1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL
2. Extract docId from the response

テーブル名 -> テーブル ID:

1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract id

列名 -> 列 ID:

1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
2. Find column by name, extract id
ページネーション
  • Coda は pageToken を使用したカーソルベースのページネーションを採用しています
  • レスポンスで nextPageToken を確認します
  • 次のリクエストでは、値がなくなるまで pageToken として渡します
  • デフォルトのページサイズはエンドポイントによって異なります
行のアップサートパターン
1. Call CODA_LIST_COLUMNS to get column IDs
2. Build row objects with column ID keys and values
3. Set keyColumns to unique identifier column(s)
4. Call CODA_UPSERT_ROWS with rows and keyColumns

既知の注意点

ID の形式:

  • ドキュメント ID:英数字の文字列
  • テーブル/列/行 ID:接頭辞付きの文字列(例:'grid-abc'、'c-xyz')
  • RESOLVE_BROWSER_LINK を使用して URL を ID に変換します

データ型:

  • 行の値は列の型と一致している必要があります
  • 日付列では ISO 8601 形式が必要です
  • 選択/複数選択列では、選択肢の値と完全に一致する値が必要です
  • People 列ではメールアドレスが必要です

レート制限:

  • Coda API にはトークンごとのレート制限があります
  • 429 レスポンスに対するバックオフを実装してください
  • UPSERT_ROWS による行の一括操作は、個別に更新するよりも効率的です

クイックリファレンス

タスクツールスラッグ主なパラメータ
ドキュメントを検索CODA_SEARCH_DOCSquery
ドキュメントを一覧表示CODA_LIST_AVAILABLE_DOCSisOwner
URL を解決CODA_RESOLVE_BROWSER_LINKurl
ページを一覧表示CODA_LIST_PAGESdocId
ページを取得CODA_GET_A_PAGEdocId, pageIdOrName
テーブルを一覧表示CODA_LIST_TABLESdocId
列を一覧表示CODA_LIST_COLUMNSdocId, tableIdOrName
行を一覧表示CODA_LIST_TABLE_ROWSdocId, tableIdOrName
行を検索CODA_SEARCH_ROWdocId, tableIdOrName, query
行を取得CODA_GET_A_ROWdocId, tableIdOrName, rowIdOrName
行をアップサートCODA_UPSERT_ROWSdocId, tableIdOrName, rows, keyColumns
列を取得CODA_GET_A_COLUMNdocId, tableIdOrName, columnIdOrName
ボタンを押すCODA_PUSH_A_BUTTONdocId, tableIdOrName, rowIdOrName, columnIdOrName
数式を一覧表示CODA_LIST_FORMULASdocId
数式を取得CODA_GET_A_FORMULAdocId, formulaIdOrName
エクスポートを開始CODA_BEGIN_CONTENT_EXPORTdocId, outputFormat
エクスポート状況CODA_CONTENT_EXPORT_STATUSdocId, requestId
共有設定を取得CODA_GET_SHARING_METADATAdocId
権限を追加CODA_ADD_PERMISSIONdocId, access, principal
ドキュメントを公開CODA_PUBLISH_DOCdocId, slug
ドキュメントを非公開化CODA_UNPUBLISH_DOCdocId
パックを一覧表示CODA_LIST_PACKS(なし)

使用するタイミング

このスキルは、概要に記載されたワークフローまたはアクションを実行する場合に適用されます。

制限事項

  • このスキルは、タスクが上記のスコープに明確に一致する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代替として扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が欠けている場合は、停止して確認を求めてください。

コメント