# Airtable

MCP server for Airtable API — manage records, bases, tables, fields, and webhooks.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add node2flow/airtable

# Browse available tools
npx -y @smithery/cli@latest tool list node2flow/airtable

# Get full schema for a tool
npx -y @smithery/cli@latest tool get node2flow/airtable airtable_list_records

# Call a tool
npx -y @smithery/cli@latest tool call node2flow/airtable airtable_list_records '{}'
```

## Direct MCP Connection

Endpoint: `https://airtable--node2flow.run.tools`

**Required config:**
- `AIRTABLE_PAT` (query) — Airtable Personal Access Token from https://airtable.com/create/tokens

## Tools (18)

- `airtable_list_records` — List records from an Airtable table. Supports filtering with formulas, sorting, field selection, views, and pagination …
- `airtable_get_record` — Get a single record by its ID. Returns the record with all fields.
- `airtable_create_records` — Create one or more records in a table (max 10 per request). Each record needs a "fields" object with field name-value p…
- `airtable_update_records` — Update specific fields in one or more records (PATCH — partial update, max 10 per request). Only specified fields are c…
- `airtable_delete_records` — Delete one or more records by their IDs (max 10 per request). This action is irreversible.
- `airtable_upsert_records` — Update existing records or create new ones based on matching fields. Specify fields_to_merge_on to match existing recor…
- `airtable_list_bases` — List all bases accessible to the authenticated user. Returns base ID, name, and permission level.
- `airtable_get_base_schema` — Get the complete schema of a base — all tables with their fields (name, type, options) and views. Essential for underst…
- `airtable_create_base` — Create a new base in a workspace. Requires at least one table with at least one field.
- `airtable_create_table` — Create a new table in a base. Requires at least one field. Field types: singleLineText, multilineText, number, singleSe…
- `airtable_update_table` — Update a table name or description.
- `airtable_create_field` — Add a new field to a table. Common types: singleLineText, multilineText, number, singleSelect, multipleSelects, date, d…
- `airtable_update_field` — Update a field name or description. Cannot change field type.
- `airtable_create_webhook` — Create a webhook to receive notifications when data changes in a base. Webhooks expire after 7 days — use airtable_refr…
- `airtable_list_webhooks` — List all webhooks for a base. Shows webhook IDs, enabled status, notification URLs, and expiration times.
- `airtable_refresh_webhook` — Extend a webhook expiration time by 7 days from now. Webhooks expire after 7 days — call this periodically to keep them…
- `airtable_list_webhook_payloads` — Get pending webhook notification payloads. Returns changed records, fields, and tables since the last cursor position.
- `airtable_delete_webhook` — Delete a webhook. Stops all notifications for this webhook.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get node2flow/airtable <tool-name>
```

## Resources

- `airtable://server-info` — Connection status and available tools for this Airtable MCP server

## Prompts (2)

- `manage-records` — Guide for managing Airtable records — list, create, update, delete, upsert
- `manage-schema` — Guide for managing Airtable bases, tables, fields, and webhooks

---

License: MIT
