Same kind of product: a grid with typed columns, views, forms, interfaces and automations. One difference decides the rest. Airtable put the AI inside the product — Omni in every base and interface, AI fields, field agents — and meters it in credits. Base took it out. There is no AI in the interface, nothing to meter, and the only AI is the agent you already pay for, connected over MCP. This page is that trade, surface by surface.
Last verified 16 September 2026 · sourced below
Airtable's answer is a copilot in the app. Base's answer is no copilot in the app. Both are deliberate, and they lead to different products.
| Airtable | Base | |
|---|---|---|
| AI in the interface | Omni in the corner of every base and every interface, AI fields in the grid, field agents. Included on every plan. An owner can switch Omni off per base. | None. No copilot, no sparkle icon, no AI field type. The grid is a grid, and it will stay that way. |
| Who pays for the model | You, in AI credits pooled per workspace and reset monthly — 500 per editor on Free, 15,000 per paid seat on Team, 20,000 on Business. A question to Omni is about 10. Extra packs from $20 a month per 10,000. | You already do. The model is the Claude, ChatGPT, Grok or Gemini subscription you have today. Base adds nothing on top: no meter, no credits. |
| Which model, and whose context | Airtable's choice, not configurable, and it knows your base. | Whichever agent you connect, with everything else that agent already knows — your email, your code, your calendar, the other MCP servers you use. |
| How the AI reaches the data | Two doors: the in-product AI, and an MCP server for outside agents. | One door: MCP, 67 tools. Because the agent is the only AI Base has, the server has to expose everything — which is what the capability table further down measures. |
Why this matters more than any single row below. An in-product copilot is built for the person in the grid. An MCP server is built for an agent that never opens the grid. When a product has both, the MCP server is the second door and gets the second-door budget. When it has only one, the MCP server is the product.
This is the clutter argument, made concrete. Every place you work in Airtable now has an AI entry point beside it. Every place you work in Base is just the place.
| Surface | Airtable | Base |
|---|---|---|
| The base | Your tables, with the Omni icon in the upper-left corner of every one. An owner can switch it off per base. | Your tables. Nothing in the corner. |
| The grid | Typed fields and formulas, plus an AI field type that spends credits per cell and whose model you do not choose. | Typed columns, spreadsheet-compatible formulas, 25 field types. No AI field type. If a column needs a model, your agent fills it over MCP with the model you chose. |
| Views | Grid, kanban, calendar, gallery, gantt, timeline, list. | Grid, kanban, calendar, gallery, gantt, chart, list, pivot. |
| Interfaces | Pages over your data, with the Omni icon in the lower-right corner of every one. | Pages of blocks over your views, published to people who never open the grid. No icon. |
| Forms | Forms in the base and in interfaces. | Forms published to a URL, with held submissions you release by hand or by agent. |
| Automations | Triggers and actions, including AI-generate steps that draw down credits. | Triggers and actions, signed webhooks, a delivery log and retry. No AI step — if you want a model in the loop, your agent is the loop. |
| History | Record revision history, retention set by plan. | A change log with the actor on every write, per-row diffs, as-of reads, branching undo and named versions — so everything an agent does is attributable and reversible. |
Airtable bills the seat and then bills the AI on top. Base bills neither, and the model bill is one you are already paying.
| Airtable | Base | |
|---|---|---|
| Seats | $20–24 per editor per month on Team, $45–54 on Business. | Free during the beta, no card, while usage data settles the pricing model. Nothing is gated or counted today: editors, viewers, form submitters and agents all come with it. |
| AI | Credits, pooled per workspace and reset monthly: 500 per editor on Free, 15,000 per paid seat on Team, 20,000 on Business. About 10 per Omni question. Extra packs from $20 a month per 10,000. | None. The model bill is the Claude, ChatGPT, Grok or Gemini subscription you already have. Base meters nothing and sells no credits. |
| MCP server | Included on all plans. | Included. |
| Moving in | — | Airtable migration included. Your base is read, never written, and stays where it is. |
Start honestly: Airtable's MCP server is good, and it's free on every plan. If you've seen a comparison page claiming Airtable doesn't support MCP, close it. Airtable ships an official server with one-click OAuth connectors for Claude and ChatGPT, and an assistant can search your bases, create and update records, spin up a new base, read and write comments, build an interface and draft automations. If that is all you want from an agent, you do not need to move, and we'd rather tell you that than sell you a migration you'll regret.
But Airtable's server is the second door — the first is Omni, inside the app. Base has one door, so it has to open all the way: restructure a table, stand up a form, ship an automation, join two tables in one query. Row by row, what each server lets an outside agent do.
| Capability | Airtable MCPOfficial server | Base MCP67 tools |
|---|---|---|
| Reading data | ||
| Search and read records | Yes | Yes — list_rows with limit/offset, get_row by id |
| Aggregate with SQL | Stats, not SQL — analyze_table sums, averages and counts one table, with group-by and filters. No joins and no arbitrary query. |
Yes — run_query runs SELECT/WITH against a typed, read-only SQLite view of every table. One call, not forty pages. |
| Discover the schema | Yes | Yes — get_table reports every column's SQL type and view name, so the agent reads the schema instead of guessing it |
| Writing data | ||
| Create records | Capped — 50 records per request by the server's own tool schema; the help article still says 10 | Yes — row batches apply in one round trip, as one history entry and one webhook |
| Update and delete records | Yes | Yes — plus duplicate_row |
| Create a table with its columns and its rows in one call | Columns, yes — create_table takes the fields; the rows are separate calls |
Yes — create_table takes optional columns and rows batches, so a whole table is a single call |
| Add, retype and remove columns | Add and rename — create_field and update_field (name, description, formula). No retype, no delete. Not in the help article; it is in the server's tool schema. |
Yes — create_column, update_column, delete_column across all 25 field types |
| Create a new base | Yes — needs Creator permission | Yes — create_base, and delete_base requires an explicit confirm |
| Building the workspace | ||
| Create and configure views | Interfaces, not views — create_interface, create_page (grid, kanban, list, calendar, gallery, timeline, dashboard) and publish_interface. Editing an existing interface, or adding filters to one, stays UI-only. |
Yes — create_view, update_view, delete_view with filters, sorts, grouping and colour rules |
| Build and publish a form | Fill, not build — get_form_schema reads one and submit_form submits it; building one is UI-only |
Yes — create, update, publish, unpublish, read submissions, release a held one. Ten tools. |
| Ship a working automation | Drafts only — list, inspect, create and update drafts, read the run history; turning one on requires the Airtable UI | Yes, live — create it, test_automation it, read its delivery log and retry a failed delivery |
| Read and write comments | Read and write — list_record_comments, create_record_comment with threaded replies |
Read and write — list_comments, add_comment |
| Undo its own mistake | Some — revert_action reverses a create, a delete or an automation update by its action id. Record updates are not revertible, and there is no version to walk back to. |
Yes — get_history, undo, redo, save_version. The agent can check in a version before it starts and walk back to it. |
| Connecting | ||
| Authentication | OAuth | OAuth 2.1 via WorkOS AuthKit — no pasted keys, we do not run the AS |
| Hosts | Claude, ChatGPT, Cursor and other MCP clients | Claude, ChatGPT, Grok custom connector, and Gemini — all over streamable HTTP |
Where the Airtable column states a limit or a "no", it comes from Airtable's help article or from the tool schemas its server publishes to a connected client — and where the two disagree, we say so. If we're wrong, tell us and this page gets corrected the same day. We'd rather run a comparison people trust than one that flatters us.
A real request, of the kind people actually make — typed into Claude, which already has the email thread it came from. Here is how far each product's MCP server gets on its own, based on the documented tool surfaces above.
analyze_table — one table, filtered and grouped, server-side. Anything that joins accounts to contacts is paged into the model's context instead.create_table, then fills it fifty rows per request.run_query — one SELECT with a date filter and a sum. The aggregation happens in SQLite, not in the context window.create_table — columns and all matching rows in a single call, recorded as one history entry.create_form then publish_form — the CS team gets a live URL.create_automation then test_automation — signed webhook, verified working, on.save_version — a labelled point to roll back to if you hate it.Airtable has a second route we are not showing: ask Omni, inside the app. It builds tables, interfaces and automations without spending credits, and charges about 10 credits per question about your data. What it cannot be is your agent — it is Airtable's model, in Airtable's window, without the thread that started the request or anything else your assistant already knows. That is the trade, not a flaw.
Why the row counts and timings aren't on this page: we haven't published a benchmark, so we're not going to imply one. The steps above are what each documented tool surface permits, nothing more. A recorded side-by-side run is coming, and it will be the raw screen capture with the failures left in.
MCP is the surface an agent drives. A script drives the REST API, and we audited ours endpoint by endpoint against Airtable's Web API. Both directions of the result are below.
| Over REST | Airtable Web APIapi.airtable.com/v0 | Base/v1 |
|---|---|---|
| Reading | ||
| Records per page | 100 maximum | 500 maximum |
| Total row count | Not returned — you page until the cursor stops | On every page |
| Filtering | filterByFormula — a per-record predicate. No joins, no aggregates, no grouping | Read-only SQL over the whole base: SELECT status, COUNT(*) … GROUP BY in one request |
| Returning some columns | fields[] | Not supported — take the row, or project in SQL |
| Writing | ||
| Records per write | 10 | 500 — one history entry and one webhook for the batch |
| Upsert on a key | performUpsert on up to 3 fields | Not supported |
| Delete | Permanent, 10 per request | Archived and recoverable — but one at a time |
| Around it | ||
| Field addressing | By name; a rename breaks callers unless they opt into field ids | By key, stable across renames — one scheme, and it is the durable one |
| Token scopes | Records, comments, schema and webhooks split separately | Three — read, values, shape. Coarser, but a sync key can fill rows and not drop a table |
| Uploading a file | uploadAttachment | Signed-in sessions only |
| Change feed | Pull, with a cursor you can replay after downtime | Push — signed webhooks with a delivery log and retry, but no replay cursor |
| History and undo | None | Change log, per-row diffs, as-of reads, branching undo |
| CSV export | Not in the API | One GET |
Compatibility was never the target. Base's API is not a drop-in for Airtable's and no Airtable SDK will point at it — the shapes differ deliberately, starting with cells keyed by column key instead of fields keyed by name. We ran the comparison to find our own gaps, and four of them are in the table above. The full endpoint-by-endpoint audit, including what we intend to close, lives in the repository as docs/airtable-api-audit.md. The API reference is here.
A comparison page that concedes nothing is an advertisement. Here is where we'd point you back.
Migration copies — your Airtable base is read, never written, and stays where it is. About a minute for a typical base.