airtable-filters について
airtable-filters は、Airtable MCP ツールでレコードを一覧表示・表示する際のフィルター構造を説明します。フィールド型に応じた条件や入れ子の論理、選択肢 ID や日付の規則を扱います。
主な機能
- 01AND または OR による条件の組み合わせ
- 02混合ロジックのためのフィルターの入れ子
- 03フィールド型ごとの比較演算子
- 04選択フィールドでの選択肢 ID の指定
- 05日付・添付ファイルのフィルター規則
活用シーン
- 01複数フィールドによるテーブルレコードの絞り込み
- 02固定条件と選択肢の組み合わせ
- 03日付範囲内のレコード検索
- 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 | 数値、日付 |
contains | string | テキスト系、リンクされたレコード |
doesNotContain | string | テキスト系、リンクされたレコード |
doesNotContain | ID の配列 | 複数選択、複数コラボレーター |
isEmpty、isNotEmpty | (なし) | テキスト系、数値、日付、単一選択、複数選択、単一コラボレーター、複数コラボレーター、リンクされたレコード、添付ファイル |
hasAnyOf、hasAllOf | ID の配列 | 複数選択、複数コラボレーター、リンクされたレコード |
isAnyOf | ID の配列 | 単一選択、単一コラボレーター |
isNoneOf | ID の配列 | 単一選択、単一コラボレーター、リンクされたレコード |
isWithin | date range object | 日付 |
filename、fileType | string または "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"}]
}
]
}