list_bases
List every Airtable base the configured token can access, with its ID, name, and permission level.
Takes no parameters.

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 1, 2026
Bases, tables, and records in Airtable: list, search, create, update, delete.
Airtable workbench MCP server that lets an assistant browse bases, tables and records and create, update or delete them.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
gridbase is a workbench for Airtable. It walks a base the way a person would: first the list of bases a token can reach, then the tables inside one base and the fields and views each table declares, then the records themselves — listed, filtered by formula, searched by text, or fetched one at a time. The same surface writes back: records can be created, updated, and deleted, tables and fields can be created and renamed, and comments can be attached to records and read again. One binary serves a command-line interface and a stdio MCP server.
An Airtable personal access token is required. Put it in the
AIRTABLE_API_KEY environment variable; it is sent to the API as an
Authorization: Bearer header and never appears in output. When the
variable is missing, every call fails with an error that names it,
before any request is made. The token needs the schema.bases:read
and data.records:read scopes at minimum, plus the matching write
scopes for the write tools.
Or run the container image:
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Each command prints the upstream JSON payload. Exit codes: 0 on
success, 1 when a call fails (including a missing AIRTABLE_API_KEY
or an API error), 2 for usage errors.
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
MCP client configuration:
Airtable offers no text-search endpoint, so search_records lists
the table (bounded by maxRecords) and keeps the records whose field
values contain the term, restricted to fieldIds when supplied.
Schema reads trim the meta payload themselves: tableIdentifiersOnly
keeps table IDs and names, identifiersOnly also reduces fields and
views to IDs and names, and full (the default) returns everything.
MIT — see LICENSE.
Source: README.md at commit a86ec9a
List every Airtable base the configured token can access, with its ID, name, and permission level.
Takes no parameters.
List the tables in a base, with fields and views at the requested level of detail.
baseIdrequireddetailLevelDescribe one table in a base, returning its fields and views at the requested level of detail.
baseIdrequiredtableIdrequireddetailLevelList records from a table, optionally filtered by an Airtable formula.
baseIdrequiredtableIdrequiredmaxRecordsfilterByFormulaSearch records in a table for a text term, across all text fields or a chosen subset.
baseIdrequiredtableIdrequiredfieldIdsmaxRecordssearchTermrequiredFetch a single record from a table by its record ID.
baseIdrequiredtableIdrequiredrecordIdrequiredCreate a new record in a table from a set of field values.
baseIdrequiredfieldsrequiredtableIdrequiredUpdate one or more records in a table, setting the given fields on each.
baseIdrequiredrecordsrequiredtableIdrequiredDelete one or more records from a table by their record IDs.
baseIdrequiredtableIdrequiredrecordIdsrequiredCreate a new table in a base with the given name, optional description, and field definitions.
namerequiredbaseIdrequiredfieldsrequireddescriptionUpdate a table's name or description.
namebaseIdrequiredtableIdrequireddescriptionCreate a new field in a table with the given name and type.
namerequiredtyperequiredbaseIdrequiredoptionstableIdrequireddescriptionUpdate a field's name or description.
namebaseIdrequiredfieldIdrequiredtableIdrequireddescriptionAdd a comment to a record, optionally as a reply to an existing comment.
textrequiredbaseIdrequiredtableIdrequiredrecordIdrequiredparentCommentIdList the comments on a record, newest first, with pagination.
baseIdrequiredoffsettableIdrequiredpageSizerecordIdrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npx @reneturcios/gridbase basesdocker run -i -e AIRTABLE_API_KEY ghcr.io/cloudcorprecords/gridbaseexport AIRTABLE_API_KEY="pat..."
gridbase basesgridbase tables appXXXXXXXXXXXXXX --detail fullgridbase describe appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXXgridbase records appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX --max 25 --filter "{Status}='Open'"gridbase search appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX "quarterly report"gridbase get appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX recXXXXXXXXXXXXXXgridbase create appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX '{"Name":"New task","Status":"Open"}'gridbase update appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX '[{"id":"recXXXXXXXXXXXXXX","fields":{"Status":"Done"}}]'gridbase delete appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX recXXXXXXXXXXXXXXgridbase create-table appXXXXXXXXXXXXXX Reports '[{"name":"Title","type":"singleLineText"}]'gridbase comment appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX recXXXXXXXXXXXXXX "Looks good"gridbase comments appXXXXXXXXXXXXXX tblXXXXXXXXXXXXXX recXXXXXXXXXXXXXX --page-size 10
gridbase --versionnpx -y @reneturcios/gridbase mcp{ "mcpServers": { "gridbase": { "command": "npx", "args": ["-y", "@reneturcios/gridbase", "mcp"], "env": { "AIRTABLE_API_KEY": "pat..." } } }}npm installnpm run build # tsc -> dist/npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev # run the CLI from source via tsx