# Airtable — MCP server on mcp.ai > Airtable merges spreadsheet functionality with database power, enabling teams to organize projects, track tasks, and collaborate through customizable views, automation, and integrations for data management By: mcp.ai · official Page: https://mcp.ai/airtable ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_airtable?ms=1781542320000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/airtable/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/airtable/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/airtable/skill.md Postman collection (v2.1): https://mcp.ai/airtable/postman.json ## Tools - airtable_create_base(name: string, tables: object[], workspaceId: string) — Creates a new airtable base with specified tables and fields within a workspace; ensure field options are valid for their type. - airtable_create_comment(text: string, baseId: string, recordId: string, tableIdOrName: string) — Creates a new comment on a specific record within an airtable base and table. - airtable_create_field(name: string, type?: string, baseId: string, options?: object, tableId: string, description?: string) — Creates a new field within a specified table in an airtable base. - airtable_create_multiple_records(baseId: string, records: object[], tableIdOrName: string) — Creates multiple new records in a specified airtable table. - airtable_create_record(baseId: string, fields: object, tableIdOrName: string) — Creates a new record in a specified airtable table; field values must conform to the table's column types. - airtable_create_table(name: string, baseId: string, fields: object[], description?: string) — Creates a new table within a specified existing airtable base, allowing definition of its name, description, and field structure. - airtable_delete_comment(baseId: string, recordId: string, rowCommentId: string, tableIdOrName: string) — Deletes an existing comment from a specified record in an airtable table. - airtable_delete_multiple_records(baseId: string, recordIds: string[], tableIdOrName: string) — Deletes up to 10 specified records from a table within an airtable base. - airtable_delete_record(baseId: string, recordId: string, tableIdOrName: string) — Permanently deletes a specific record from an existing table within an existing airtable base. - airtable_get_base_schema(baseId: string) — Retrieves the detailed schema for a specified airtable base, including its tables, fields, field types, and configurations, using the `baseid`. - airtable_get_record(baseId: string, recordId: string, cellFormat?: string, tableIdOrName: string, returnFieldsByFieldId?: boolean) — Retrieves a specific record from a table within an airtable base. - airtable_get_user_info() — Retrieves information, such as id and permission scopes, for the currently authenticated airtable user from the `/meta/whoami` endpoint. - airtable_list_bases() — Retrieves all airtable bases accessible to the authenticated user, which may include an 'offset' for pagination. - airtable_list_comments(baseId: string, recordId: string, tableIdOrName: string) — Retrieves all comments for a specific record in an airtable table, requiring existing `baseid`, `tableidorname`, and `recordid`. - airtable_list_records(sort?: object[], view?: string, baseId: string, fields?: string[], offset?: string, pageSize?: integer, timeZone?: string, cellFormat?: string, maxRecords?: integer, userLocale?: string, tableIdOrName: string, recordMetadata?: string[], filterByFormula?: string, returnFieldsByFieldId?: boolean) — Retrieves records from an airtable table, with options for filtering, sorting, pagination, and specifying returned fields. - airtable_update_multiple_records(baseId: string, records: object[], tableIdOrName: string) — Updates multiple existing records in a specified airtable table; these updates are not performed atomically. - airtable_update_record(baseId: string, fields: object, recordId: string, tableIdOrName: string, returnFieldsByFieldId?: boolean) — Modifies specified fields of an existing record in an airtable base and table; the base, table, and record must exist. ## Links Docs: https://mcp.ai/docs/mcps/airtable Website: https://mcp.ai/mcps/airtable