Smithery's MCP Proxy and managed identity shut down on October 31. See what's changing

SmitherySign up for Arcade

Airtable

Arcade toolkit · docs.arcade.dev

Arcade's Airtable toolkit lets LLMs read and write Airtable bases and records through OAuth-authenticated API calls. It covers the full CRUD lifecycle — discovering bases and schemas, querying and searching rows, and creating, updating, or deleting them.

Capabilities

  • Discovery: List accessible bases (with permission levels) and retrieve full base schemas — column names, types, select options, linked-record targets, and views — before writing to avoid field-name or value mismatches.
  • Reading records: Fetch a single row by ID or list rows with optional filtering (formula-based), sorting, column selection, and view scoping; search rows by matching one column against arbitrary text.
  • Writing records: Create up to 10 rows per call (repeating adds more rows rather than replacing); update specific columns on existing rows without touching others; delete rows permanently (up to 10 per call).
  • Partial-success handling: All write and delete tools distinguish confirmed vs. unconfirmed record IDs and surface count / requested_count / unconfirmed_record_ids so callers can safely retry only the unresolved subset.
  • Account introspection: Resolve which Airtable account and granted scopes the current authorization represents.

Tools9

  • Airtable_CreateRecords

    Create rows in an Airtable table, up to 10 per call. Repeating this call creates additional rows rather than replacing the first set. count and requested_count are equal on success, and record_ids names the rows. If Airtable confirms fewer rows than requested, this call raises instead of reporting an incomplete success, because new rows do not have caller-known IDs to reconcile.

  • Airtable_DeleteRecords

    Delete rows from an Airtable table, up to 10 per call. Deleted rows are removed from the table and cannot be restored through the API. record_ids holds only the rows Airtable confirmed deleted. When count is lower than requested_count, unconfirmed_record_ids names the rest; re-read those before deleting again.

  • Airtable_GetBaseSchema

    Get the column names, column types and select options inside an Airtable base. Read this before writing records: writes key on column names, a select column rejects values outside the options reported here, and a linked-record column only accepts record IDs from the table it names. views_included is false whenever a table's views were not returned: include_views was false, or they were left out to fit the response (then truncated is true). An empty views list with views_included true means the table has no saved views. Narrow with table when only one table matters. Airtable returns the whole base, so leaving it empty on a wide base costs the context the records themselves need. truncated says detail was left out to keep the response usable: descriptions and views go first, then columns from the end of a table. Ask for one named table to give it the whole response; a table still too wide returns its leading columns in order, always at least its first, whose select options may be cut from the end.

  • Airtable_GetRecord

    Get a single Airtable row by its record ID. Returns every column unless fields narrows it. Long cell values are clipped the same way they are in a listing, and truncated says when that happened. A record ID that does not exist, or was deleted, comes back as a refusal that does not distinguish the two.

  • Airtable_ListBases

    List the Airtable bases this authorization can reach, with permission levels. Returns bases in Airtable's default order.

  • Airtable_ListRecords

    List rows from an Airtable table, optionally filtered, sorted and column-limited. Use this when the condition combines columns, or compares numbers or dates. To match one column against plain text, use the record search tool instead. Returns records in the view's order, or Airtable's default order when no view is given, unless sort_field overrides it.

  • Airtable_SearchRecords

    Find rows in an Airtable table whose column matches a search term. Use this to match one column against text: quotes and backslashes in the search term are escaped, so arbitrary text is safe to pass. Use the formula-based listing instead when the condition combines columns or compares numbers or dates. Returns records in the table's order unless sort_field is given.

  • Airtable_UpdateRecords

    Change columns on existing Airtable rows, up to 10 per call. Only the columns supplied are written; every other column is left untouched. count is how many rows Airtable confirmed. When it is lower than requested_count, unconfirmed_record_ids names the rest; re-read those before updating them again.

  • Airtable_WhoAmI

    Get the Airtable account this authorization belongs to, and its granted scopes. Useful for confirming whose bases are being read or changed.