mcpField
A
airtable-automation

airtable-automation

github.com/composiohqデータ・データベース78.3k82 回インストール14 週間前に更新
リポジトリ

airtable-automation について

airtable-automationは、ComposioのAirtableツールキットとRube MCPを通じてAirtableを操作するスキルです。レコード、フィールド構成、コメントを扱うワークフローに対応します。

主な機能

  1. 01レコードの作成、取得、更新、削除
  2. 02数式によるレコードの絞り込み
  3. 03テーブルとフィールド構成の管理
  4. 04レコードコメントの表示

活用シーン

  1. 01Airtableレコードの一括管理
  2. 02条件に合うレコードの検索
  3. 03テーブルフィールドの作成や調整
  4. 04レコードの議論内容を確認

MCP 対応

Rube MCP経由でComposioのAirtableツールキットを呼び出します。MCP接続と有効なAirtableアカウント接続が必要です。

インストール

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

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill airtable-automation

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

詳細

Rube MCP による Airtable の自動化

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

ツールキットのドキュメント:composio.dev/toolkits/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 のレート制限はベースごとに約 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()) - 日付の比較

エスケープ規則:

  • 値に含まれる単一引用符は 2 つ重ねます({Name}='John''s Company')
ページネーション
  • pageSize を設定します(最大 100)
  • レスポンスに offset 文字列が含まれているか確認します
  • offset は変更せずに次のリクエストに渡します
  • ページ間でフィルター、並べ替え、ビューを一定に保ちます

既知の注意点

ID の形式:

  • ベース ID:appXXXXXXXXXXXXXX(17 文字)
  • テーブル ID:tblXXXXXXXXXXXXXX(17 文字)
  • レコード ID:recXXXXXXXXXXXXXX(17 文字)
  • フィールド ID:fldXXXXXXXXXXXXXX(17 文字)

一括処理の上限:

  • CREATE_RECORDS:1 リクエストあたり最大 10 件
  • UPDATE_MULTIPLE_RECORDS:1 リクエストあたり最大 10 件
  • DELETE_MULTIPLE_RECORDS:1 リクエストあたり最大 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

Composio 提供

コメント