mcpField
A
airtable-automation

airtable-automation

github.com/sickn33データ・データベース48.8k235 回インストール今日更新
リポジトリ

airtable-automation について

Rube MCP 経由で Composio の Airtable ツールキットを使い、レコード、スキーマ、コメントを操作するスキルです。ツールの実行順、パラメーター、一般的な制限やエラーへの注意点を示します。

主な機能

  1. 01レコードの作成・読み取り・更新・削除
  2. 02数式によるレコード検索
  3. 03フィールドとテーブル情報の管理
  4. 04レコードコメントの表示と追加
  5. 05ページネーションと一括処理の制限案内

活用シーン

  1. 01Airtable レコードの変更を自動化
  2. 02数式フィルターによるレコード検索
  3. 03テーブルフィールドの作成や更新
  4. 04レコードコメントの確認や追加

MCP 対応

Rube MCP を介して Composio の Airtable ツールキットにアクセスします。操作には有効な Airtable 接続が必要で、実行前に最新のツールスキーマを取得することが推奨されています。

インストール

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

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

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

詳細

Rube MCP による Airtable の自動化

Composio の Airtable ツールキットを Rube MCP 経由で使用し、Airtable の操作を自動化します。

前提条件

  • Rube MCP が接続されている必要があります(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット airtable を指定した RUBE_MANAGE_CONNECTIONS によるアクティブな Airtable 接続
  • 最新のツールスキーマを取得するために、常に最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得: クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です — エンドポイントを追加するだけで動作します。

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

主要なワークフロー

1. レコードの作成と管理

使用するタイミング: ユーザーがレコードの作成、読み取り、更新、削除を希望する場合

ツールの実行順序:

  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 は 1 リクエストあたり 10 レコードという厳格な上限があります。より大きなインポートは分割してください
  • フィールド名は大文字と小文字を区別し、スキーマと完全に一致する必要があります
  • フィールド名が誤っている場合は 422 UNKNOWN_FIELD_NAME、権限の問題の場合は 403 が返ります
  • INVALID_MULTIPLE_CHOICE_OPTIONS が発生した場合は typecast=true が必要になることがあります
2. レコードの検索とフィルタリング

使用するタイミング: ユーザーが数式を使用して特定のレコードを検索したい場合

ツールの実行順序:

  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 のレート制限: 1 ベースあたり約 5 リクエスト/秒です。429 の場合は Retry-After で処理してください
3. フィールドとスキーマの管理

使用するタイミング: ユーザーがテーブルフィールドの作成や変更を希望する場合

ツールの実行順序:

  1. AIRTABLE_GET_BASE_SCHEMA - 現在のスキーマを検査します [前提条件]
  2. AIRTABLE_CREATE_FIELD - 新しいフィールドを作成します [任意]
  3. AIRTABLE_UPDATE_FIELD - フィールドの名前変更/説明の更新を行います [任意]
  4. AIRTABLE_UPDATE_TABLE - テーブルメタデータを更新します [任意]

主要なパラメータ:

  • name: フィールド名
  • type: フィールド型(singleLineText、number、singleSelect など)
  • options: 型固有のオプション(選択フィールドの選択肢、数値の精度など)
  • description: フィールドの説明

注意点:

  • UPDATE_FIELD は名前/説明のみを変更し、型/オプションは変更しません。置き換え用のフィールドを作成して移行してください
  • 計算フィールド(formula、rollup、lookup)は API 経由で作成できません
  • 型オプションが欠落しているか不正な形式の場合は 422 が返ります
4. コメントの管理

使用する場面: ユーザーがレコードのコメントを表示または追加したい場合

ツールの順序:

  1. AIRTABLE_LIST_COMMENTS - レコードのコメントを一覧表示します [必須]

主要なパラメータ:

  • baseId: ベース ID
  • tableIdOrName: テーブル識別子
  • recordId: レコード ID (17 文字、'rec' で始まる)
  • pageSize: 1 ページあたりのコメント数 (最大 100)

注意点:

  • レコード ID は 'rec' で始まる正確に 17 文字である必要があります

共通パターン

Airtable の数式構文

比較:

  • {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_SCHEMAbaseId
レコードの一覧表示AIRTABLE_LIST_RECORDSbaseId, tableIdOrName
レコードの取得AIRTABLE_GET_RECORDbaseId, tableIdOrName, recordId
レコードの作成AIRTABLE_CREATE_RECORDbaseId, tableIdOrName, fields
レコードの作成(複数)AIRTABLE_CREATE_RECORDSbaseId, tableIdOrName, records
レコードの更新AIRTABLE_UPDATE_RECORDbaseId, tableIdOrName, recordId, fields
レコードの更新(複数)AIRTABLE_UPDATE_MULTIPLE_RECORDSbaseId, tableIdOrName, records
レコードの削除AIRTABLE_DELETE_RECORDbaseId, tableIdOrName, recordId
フィールドの作成AIRTABLE_CREATE_FIELDbaseId, tableIdOrName, name, type
フィールドの更新AIRTABLE_UPDATE_FIELDbaseId, tableIdOrName, fieldId
テーブルの更新AIRTABLE_UPDATE_TABLEbaseId, tableIdOrName, name
コメントの一覧表示AIRTABLE_LIST_COMMENTSbaseId, tableIdOrName, recordId

使用する場面

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

例

ユーザーのリクエスト:

Rube MCP (Composio) 経由で Airtable のタスクを自動化する: レコード、ベース、テーブル、フィールド、ビュー。

制限事項

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

コメント