Airtable

Airtable

Provides AI assistants with direct access to Airtable bases, allowing them to read schemas, query records, and interact with your Airtable data. Supports listing bases, retrieving table structures, and searching through records to help automate workflows and answer questions about your organized data.

10K+

16 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

Airtable MCP Server

Provides AI assistants with direct access to Airtable bases, allowing them to read schemas, query records, and interact with your Airtable data. Supports listing bases, retrieving table structures, and searching through records to help automate workflows and answer questions about your organized data.

What is an MCP Server?⁠

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/domdomegg/airtable-mcp-server/blob/2a5896d0891d13558e1313155b177fc0a4bc95d6/Dockerfile⁠
Commit2a5896d0891d13558e1313155b177fc0a4bc95d6
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/airtable-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (16)

Tools provided by this ServerShort Description
create_commentCreate a comment on a record
create_fieldCreate a new field in a table
create_recordCreate a new record in a table
create_tableCreate a new table in a base
delete_recordsDelete records from a table
describe_tableGet detailed information about a specific table
get_recordGet a specific record by ID
list_basesList all accessible Airtable bases
list_commentsList comments on a record
list_recordsList records from a table
list_tablesList all tables in a specific base
search_recordsSearch for records containing specific text
update_fieldUpdate a field's name or description
update_recordsUpdate up to 10 records in a table
update_tableUpdate a table's name or description
upload_attachmentUpload a file directly to an attachment field on an existing record using Airtable's upload API.

Tools Details

Tool: create_comment

Create a comment on a record

ParametersTypeDescription
baseIdstringThe ID of the base
recordIdstringThe ID of the record
tableIdstringThe ID or name of the table
textstringThe comment text
parentCommentIdstringoptionalOptional parent comment ID for threaded replies

Tool: create_field

Create a new field in a table

ParametersTypeDescription
baseIdstringThe ID of the base
nestedobject
tableIdstringThe ID or name of the table

Tool: create_record

Create a new record in a table

ParametersTypeDescription
baseIdstringThe ID of the base
fieldsobjectThe fields for the new record
tableIdstringThe ID or name of the table

Tool: create_table

Create a new table in a base

ParametersTypeDescription
baseIdstringThe ID of the base
fieldsarrayArray of field definitions
namestringThe name of the table
descriptionstringoptionalOptional description for the table

Tool: delete_records

Delete records from a table

ParametersTypeDescription
baseIdstringThe ID of the base
recordIdsarrayArray of record IDs to delete
tableIdstringThe ID or name of the table

This tool may perform destructive updates.


Tool: describe_table

Get detailed information about a specific table

ParametersTypeDescription
baseIdstringThe ID of the base
tableIdstringThe ID or name of the table
detailLevelstringoptionalDetail level for table information:
  • tableIdentifiersOnly: table IDs and names
  • identifiersOnly: table, field, and view IDs and names
  • full: complete details including field types, descriptions, and configurations

Note for LLMs: To optimize context window usage, request the minimum detail level needed:

  • Use 'tableIdentifiersOnly' when you only need to list or reference tables
  • Use 'identifiersOnly' when you need to work with field or view references
  • Only use 'full' when you need field types, descriptions, or other detailed configuration

If you only need detailed information on a few tables in a base with many complex tables, it might be more efficient for you to use list_tables with tableIdentifiersOnly, then describe_table with full on the specific tables you want.

This tool is read-only. It does not modify its environment.


Tool: get_record

Get a specific record by ID

ParametersTypeDescription
baseIdstringThe ID of the base
recordIdstringThe ID of the record
tableIdstringThe ID or name of the table

This tool is read-only. It does not modify its environment.


Tool: list_bases

List all accessible Airtable bases

Tool: list_comments

List comments on a record

ParametersTypeDescription
baseIdstringThe ID of the base
recordIdstringThe ID of the record
tableIdstringThe ID or name of the table
offsetstringoptionalOffset for pagination
pageSizenumberoptionalNumber of comments to return (max 100, default 100)

This tool is read-only. It does not modify its environment.


Tool: list_records

List records from a table

ParametersTypeDescription
baseIdstringThe ID of the base
tableIdstringThe ID or name of the table
filterByFormulastringoptionalA formula used to filter records
maxRecordsnumberoptionalThe maximum total number of records that will be returned
sortarrayoptionalA list of sort objects that specifies how the records will be ordered
viewstringoptionalThe name or ID of a view in the table

This tool is read-only. It does not modify its environment.


Tool: list_tables

List all tables in a specific base

ParametersTypeDescription
baseIdstringThe ID of the base
detailLevelstringoptionalDetail level for table information:
  • tableIdentifiersOnly: table IDs and names
  • identifiersOnly: table, field, and view IDs and names
  • full: complete details including field types, descriptions, and configurations

Note for LLMs: To optimize context window usage, request the minimum detail level needed:

  • Use 'tableIdentifiersOnly' when you only need to list or reference tables
  • Use 'identifiersOnly' when you need to work with field or view references
  • Only use 'full' when you need field types, descriptions, or other detailed configuration

If you only need detailed information on a few tables in a base with many complex tables, it might be more efficient for you to use list_tables with tableIdentifiersOnly, then describe_table with full on the specific tables you want.

This tool is read-only. It does not modify its environment.


Tool: search_records

Search for records containing specific text

ParametersTypeDescription
baseIdstringThe ID of the base
searchTermstringThe text to search for
tableIdstringThe ID or name of the table
fieldIdsarrayoptionalOptional array of field IDs to search in
maxRecordsnumberoptionalThe maximum total number of records that will be returned
viewstringoptionalThe name or ID of a view in the table

This tool is read-only. It does not modify its environment.


Tool: update_field

Update a field's name or description

ParametersTypeDescription
baseIdstringThe ID of the base
fieldIdstringThe ID of the field
tableIdstringThe ID or name of the table
descriptionstringoptionalNew description for the field
namestringoptionalNew name for the field

This tool may perform destructive updates.


Tool: update_records

Update up to 10 records in a table

ParametersTypeDescription
baseIdstringThe ID of the base
recordsarrayArray of records to update (max 10)
tableIdstringThe ID or name of the table

This tool may perform destructive updates.


Tool: update_table

Update a table's name or description

ParametersTypeDescription
baseIdstringThe ID of the base
tableIdstringThe ID or name of the table
descriptionstringoptionalNew description for the table
namestringoptionalNew name for the table

This tool may perform destructive updates.


Tool: upload_attachment

Upload a file directly to an attachment field on an existing record using Airtable's upload API. Supports files up to 5 MB. For larger files, use create_record or update_records with a public URL. The record must already exist.

ParametersTypeDescription
attachmentFieldIdOrNamestringThe ID or name of the attachment field (e.g. fldXXXXXXXXXXXXXX or "Images")
baseIdstringThe ID of the base
contentTypestringMIME type of the file (e.g. "image/jpeg", "image/png", "application/pdf")
filestringRaw base64-encoded file content (no data URL prefix)
filenamestringFilename for the attachment (e.g. "image.jpg")
recordIdstringThe ID of the existing record (e.g. recXXXXXXXXXXXXXX)

Use this MCP Server

{
  "mcpServers": {
    "airtable-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NODE_ENV",
        "-e",
        "AIRTABLE_API_KEY",
        "mcp/airtable-mcp-server"
      ],
      "env": {
        "NODE_ENV": "production",
        "AIRTABLE_API_KEY": "patABC123.def456ghi789jkl012mno345pqr678stu901vwx"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?⁠

Related servers