mcpField
A
airtable-filters

airtable-filters

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

airtable-filters について

airtable-filters は、Airtable MCP ツールでレコードを一覧表示・表示する際のフィルター構造を説明します。フィールド型に応じた条件や入れ子の論理、選択肢 ID や日付の規則を扱います。

主な機能

  1. 01AND または OR による条件の組み合わせ
  2. 02混合ロジックのためのフィルターの入れ子
  3. 03フィールド型ごとの比較演算子
  4. 04選択フィールドでの選択肢 ID の指定
  5. 05日付・添付ファイルのフィルター規則

活用シーン

  1. 01複数フィールドによるテーブルレコードの絞り込み
  2. 02固定条件と選択肢の組み合わせ
  3. 03日付範囲内のレコード検索
  4. 04添付ファイル種別によるレコード絞り込み

MCP 対応

テーブルやインターフェースページのレコードを一覧表示・表示する Airtable MCP ツールの filters パラメーターを説明します。インターフェースページでは、指定した条件がページの既定フィルターと AND で結合されます。

インストール

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

$npx skills add https://github.com/airtable/skills --skill airtable-filters

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

詳細

Airtable MCP フィルター

テーブルまたはインターフェースページのレコードを一覧表示または表示する MCP ツールは、同じスキーマを使用する省略可能な filters パラメーターを受け付けます。

インターフェースページからレコードを検索する場合、これらのフィルターはページに組み込まれたフィルターと AND で結合されます。

スキーマの形式

トップレベルに operator が指定されていない場合、条件は AND で結合されます。条件の operands 配列の最初の要素は常にフィールド IDです。フィルターを適用する前に、テーブルのスキーマを調べてフィールド ID を確認してください。

フィールド型のカテゴリ

  • テキスト系:singleLineText、multilineText、email、url、phoneNumber、richText、barcode
  • 数値:number、percent、currency、rating、duration、autoNumber、count
  • 日付:date、dateTime、createdTime、lastModifiedTime
  • 単一選択:singleSelect
  • 複数選択:multipleSelects
  • 単一のコラボレーター:singleCollaborator
  • 複数のコラボレーター:multipleCollaborators
  • リンクされたレコード:multipleRecordLinks
  • 添付ファイル:multipleAttachments
  • チェックボックス:checkbox

計算フィールド(formula、rollup、lookup)は、結果の型に対応する演算子をサポートします。

比較演算子

演算子第 2 オペランドフィールドのカテゴリ
=string、number、boolean、choice IDテキスト系、数値、日付、チェックボックス、単一選択、複数選択、単一コラボレーター、複数コラボレーター、リンクされたレコード
!=string、number、choice IDテキスト系、数値、日付、単一選択、単一コラボレーター
<、>、<=、>=number または date value object数値、日付
containsstringテキスト系、リンクされたレコード
doesNotContainstringテキスト系、リンクされたレコード
doesNotContainID の配列複数選択、複数コラボレーター
isEmpty、isNotEmpty(なし)テキスト系、数値、日付、単一選択、複数選択、単一コラボレーター、複数コラボレーター、リンクされたレコード、添付ファイル
hasAnyOf、hasAllOfID の配列複数選択、複数コラボレーター、リンクされたレコード
isAnyOfID の配列単一選択、単一コラボレーター
isNoneOfID の配列単一選択、単一コラボレーター、リンクされたレコード
isWithindate range object日付
filename、fileTypestring または "image"/"text"添付ファイル

フィールドを複数の値と照合する場合、そのフィールドの型で使用できるときは、複数の = 条件を or/and で組み合わせるより、専用の演算子(isAnyOf、isNoneOf、hasAnyOf、hasAllOf)を優先してください。

フィールド型のルール

選択フィールド

選択フィールドでは、オペランドの値に表示名ではなく選択肢 ID(例:"selEXAMPLEchoice1")を指定する必要があります。フィルタリングの前に、テーブルのスキーマを参照して選択肢 ID を確認してください。

コラボレーターフィールド

コラボレーターグループ ID でフィルタリングする場合は、グループ ID をそのまま指定するのではなく、operatorOptions を使用してグループの個々のメンバーと照合してください。詳細については、ツールの operatorOptions パラメーターを参照してください。

オペランドの例:{"operator": "hasAnyOf", "operands": ["fldEXAMPLEfield03", "ugpEXAMPLEgroup01"], "operatorOptions": {"matchGroupsByMembership": true}}

添付ファイルフィールド

ユーザーがファイルの種類を指定している場合は、isNotEmpty ではなく fileType を使用して添付ファイルを種類(例:"image"、"text")でフィルタリングしてください。

日付フィールド

日付の比較(=, !=, <, >, <=, >=)では、生の日付文字列ではなく日付値オブジェクトを使用し、isWithin では日付範囲オブジェクトを使用します。各モードで使用できる値はツールのスキーマで定義されています。必ず timeZone を含めてください。

条件の組み立て

フィルターのトップレベルのオペランド配列には、2つ以上の条件を含めることができます。これらはトップレベルの演算子(デフォルトでは AND)で結合されます。複数の条件を使うシンプルなフィルターなら、このフラットな構造で十分です。

AND と OR を組み合わせる必要がある場合は、フィルターオブジェクトをオペランドの1つとしてネストします。ネストした各フィルターには、独自の演算子とオペランドがあります。

AND 内の OR — 一方の条件は固定し、もう一方で複数の選択肢を許容する場合に便利です。

「Writing または Pre-Production のどちらかにある、Scripted の動画」 → Bucket = Scripted AND (Status = Writing OR Status = Pre-Production)

OR 内の AND — シンプルな条件、または条件の組み合わせのいずれかに一致するレコードを取得したい場合に便利です。

「Approved の動画、または Bailey が担当する Cut 2 の動画」 → Status = Approved OR (Editor = Bailey AND Status = Cut 2 Ready)

異なるフィールドに対する条件を多く組み合わせる場合は、不要にネストせず、フラットな AND を優先してください。異なる階層で AND と OR を組み合わせる必要がある場合にのみネストします。

複数回の呼び出しに分けるのではなく、すべての条件を1つの filters オブジェクトにまとめることをお勧めします。条件をまとめて1回呼び出せば、より効率的で、正しい結果セットを直接取得できます。

例

テキストフィールドが「orange」と等しい、または数値フィールドが5より大きいレコードをフィルタリングします。

{
    "operator": "or",
    "operands": [
        {"operator": "=", "operands": ["fldEXAMPLEfield01", "orange"]},
        {"operator": ">", "operands": ["fldEXAMPLEfield04", 5]}
    ]
}

日付フィールドが過去1週間以内のレコードをフィルタリングします。

{
    "operands": [
        {
            "operator": "isWithin",
            "operands": ["fldEXAMPLEdate001", {"mode": "pastWeek", "timeZone": "America/New_York"}]
        }
    ]
}

コメント