airtable-mcp-server

by domdomegg
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides read and write access to Airtable databases, allowing LLMs to inspect database schemas, read and write records. Features include listing bases and tables, searching and filtering records, creating/updating/deleting records, and managing table schemas.

エアテーブルMCPサーバー

Airtableデータベースへの読み取りおよび書き込みアクセスを提供するモデルコンテキストプロトコルサーバー。このサーバーにより、LLMはデータベーススキーマを検査し、レコードの読み取りと書き込みを行うことができます。

https://github.com/user-attachments/assets/c8285e76-d0ed-4018-94c7-20535db6c944

使用法

このサーバーを Claude Desktop アプリで使用するには、 claude_desktop_config.jsonの「mcpServers」セクションに次の構成を追加します。

{ "mcpServers": { "airtable": { "command": "npx", "args": [ "-y", "airtable-mcp-server" ], "env": { "AIRTABLE_API_KEY": "pat123.abc123" } } } }

pat123.abc123 Airtable個人アクセストークンに置き換えてください。トークンには少なくともschema.bases:readdata.records:read権限が必要です。また、必要に応じて対応する書き込み権限も必要です。

コンポーネント

ツール

  • リストレコード
    • 指定されたAirtableテーブルからレコードを一覧表示します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): クエリするテーブルのID
      • maxRecords (数値、オプション): 返されるレコードの最大数。デフォルトは100です。
      • filterByFormula (文字列、オプション): レコードをフィルタリングするためのAirtable式
  • 検索レコード
    • 特定のテキストを含むレコードを検索する
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): クエリするテーブルのID
      • searchTerm (文字列、必須): レコード内で検索するテキスト
      • fieldIds (配列、オプション): 検索する特定のフィールド ID。指定しない場合は、すべてのテキストベースのフィールドを検索します。
      • maxRecords (数値、オプション): 返されるレコードの最大数。デフォルトは100です。
  • リストベース
    • アクセス可能なすべてのAirtableベースをリストします
    • 入力パラメータは不要
    • ベースID、名前、権限レベルを返します
  • リストテーブル
    • 特定のベース内のすべてのテーブルを一覧表示します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • detailLevel (文字列、オプション): テーブルについて取得する詳細の量 ( tableIdentifiersOnlyidentifiersOnly 、またはfull )
    • テーブル ID、名前、説明、フィールド、ビュー (指定されたdetailLevelまで) を返します。
  • テーブルの説明
    • 特定のテーブルに関する詳細情報を取得します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): 記述するテーブルのID
      • detailLevel (文字列、オプション): テーブルについて取得する詳細の量 ( tableIdentifiersOnlyidentifiersOnly 、またはfull )
    • list_tables と同じ形式を返しますが、単一のテーブルに対して返します。
    • ベース内のすべてのテーブルに関する情報を取得せずに、特定のテーブルの詳細を取得するのに役立ちます。
  • get_record
    • IDで特定のレコードを取得します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • recordId (文字列、必須): 取得するレコードのID
  • レコード作成
    • テーブルに新しいレコードを作成します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • fields (オブジェクト、必須): 新しいレコードのフィールドと値
  • レコードの更新
    • テーブル内の1つ以上のレコードを更新します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • records (配列、必須): レコードIDと更新するフィールドを含むオブジェクトの配列
  • レコードの削除
    • テーブルから1つ以上のレコードを削除します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • recordIds (配列、必須): 削除するレコードIDの配列
  • テーブルを作成する
    • ベースに新しいテーブルを作成します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • name (文字列、必須): 新しいテーブルの名前
      • description (文字列、オプション): テーブルの説明
      • fields (配列、必須): フィールド定義の配列 (名前、タイプ、説明、オプション)
  • 更新テーブル
    • テーブルの名前または説明を更新します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • name (文字列、オプション): テーブルの新しい名前
      • description (文字列、オプション): テーブルの新しい説明
  • フィールドを作成する
    • テーブルに新しいフィールドを作成します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • name (文字列、必須): 新しいフィールドの名前
      • type (文字列、必須): フィールドのタイプ
      • description (文字列、オプション): フィールドの説明
      • options (オブジェクト、オプション): フィールド固有のオプション
  • 更新フィールド
    • フィールドの名前または説明を更新します
    • 入力パラメータ:
      • baseId (文字列、必須): AirtableベースのID
      • tableId (文字列、必須): テーブルのID
      • fieldId (文字列、必須): フィールドのID
      • name (文字列、オプション): フィールドの新しい名前
      • description (文字列、オプション): フィールドの新しい説明

リソース

サーバーは、Airtable のベースとテーブルのスキーマ情報を提供します。

  • テーブルスキーマ( airtable://<baseId>/<tableId>/schema )
    • 各テーブルのJSONスキーマ情報
    • 含まれるもの:
      • ベースIDとテーブルID
      • テーブル名と説明
      • プライマリフィールドID
      • フィールド定義(ID、名前、タイプ、説明、オプション)
      • ビュー定義(ID、名前、タイプ)
    • AirtableのメタデータAPIから自動的に検出されます

貢献

GitHub でのプルリクエストを歓迎します。始めるには:

  1. GitとNode.jsをインストールする
  2. リポジトリをクローンする
  3. npm installで依存関係をインストールする
  4. テストを実行するにはnpm run testを実行します。
  5. npm run buildでビルドする
  • src/index.ts編集した後、 npm run build:watchを使って自動的にビルドできます。つまり、保存してClaude Desktopをリロード(Ctrl/Cmd+R)するだけで、変更が適用されます。

リリース

バージョンはセマンティック バージョン管理仕様に従います。

解放するには:

  1. バージョンを上げるには、 npm version <major | minor | patch>を使用します。
  2. タグ付きでプッシュするにはgit push --follow-tagsを実行します。
  3. GitHub Actions が NPM レジストリに公開されるまで待ちます。
-
security - not tested
A
license - permissive license
-
quality - not tested

Airtableデータベースへの読み取りおよび書き込みアクセスを提供するモデルコンテキストプロトコルサーバー。このサーバーにより、LLMはデータベーススキーマを検査し、レコードの読み取りと書き込みを行うことができます。

  1. Usage
    1. Components
      1. Tools
      2. Resources
    2. Contributing
      1. Releases
        ID: 7abwib27hk