mcp/airtable-mcp-server

Verified Publisher

By mcp

Updated 19 days ago

Provides AI assistants with direct access to Airtable bases, allowing them to read schemas, query...

Image
Machine learning & AI
1

10K+

mcp/airtable-mcp-server repository overview

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
parentCommentIdstring optionalOptional 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
descriptionstring optionalOptional 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
detailLevelstring optionalDetail 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
offsetstring optionalOffset for pagination
pageSizenumber optionalNumber 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
filterByFormulastring optionalA formula used to filter records
maxRecordsnumber optionalThe maximum total number of records that will be returned
sortarray optionalA list of sort objects that specifies how the records will be ordered
viewstring optionalThe 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
detailLevelstring optionalDetail 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
fieldIdsarray optionalOptional array of field IDs to search in
maxRecordsnumber optionalThe maximum total number of records that will be returned
viewstring optionalThe 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
descriptionstring optionalNew description for the field
namestring optionalNew 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
descriptionstring optionalNew description for the table
namestring optionalNew 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?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:3d15a7da3

Size

105.1 MB

Last updated

19 days ago

docker pull mcp/airtable-mcp-server

This week's pulls

Pulls:

326

Jul 6 to Jul 12