Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Airtable User MCP

NPM · AIRTABLE-USER-MCP · SCANNED SEP 20

Manage Airtable bases: schema, field CRUD, views, formula validation, extensions

Available components

0 this week 94 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 42 of 140 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to Automations-Project/VSCode-Airtable-Formula). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 51 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability80
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3459 tokens (~104/item across 33 items; 33 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 33 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Airtable User MCP server?

Airtable User MCP runs locally as an npm package, launched with npx -y airtable-user-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · airtable-user-mcp

# add to Claude Code
claude mcp add automations-project-airtable-user-mcp -- npx -y airtable-user-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "automations-project-airtable-user-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-user-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "automations-project-airtable-user-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-user-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add automations-project-airtable-user-mcp -- npx -y airtable-user-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "automations-project-airtable-user-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "airtable-user-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add automations-project-airtable-user-mcp --command npx --arg -y --arg airtable-user-mcp
# ~/.hermes/config.yaml
mcp_servers:
  automations-project-airtable-user-mcp:
    command: "npx"
    args: ["-y", "airtable-user-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "automations-project-airtable-user-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "airtable-user-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add automations-project-airtable-user-mcp -t stdio -c npx -a -y airtable-user-mcp
// mcp.json
{
  "mcpServers": {
    "automations-project-airtable-user-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "airtable-user-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1
    • Security disclosure: unverified → fail functional
  • 17 Sept 26 −3
    • Security disclosure: fail → unverified functional
    • Stability: pass → 0.80 functional
  • 16 Sept 26 0
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 −3
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/airtable-user-mcp@2.1.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo Automations-Project/VSCode-Airtable-Formula
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/Automations-Project/VSCode-Airtable-Formula/.github/workflows/publish-mcp-server.yml@refs/tags/mcp-server/v2.1.1
Rekor log index 1279829963
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:3ecbe11079dda0957b629441dfcd538c284554787aa2721add84519091e45723cca0f78569aa64750aa1af264aa53e47453249656799cf90449653ac0

Background: How many MCP packages publish verified provenance →

Dependencies 140 packages
Packages resolved 140
Deprecated 2
Stale 41
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 33 exposed · ~3,459 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
apply_view_sorts ~96

Apply sort conditions to a view. Pass an empty array to clear all sorts.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
sortsarrayyesArray of sort conditions. Empty array [] clears all sorts.
viewIdstringyesThe view ID (e.g. "viwXXX")

No output schema declared.

No examples provided.

create_extension ~104

Create a new extension (block) in an Airtable base. Returns the block ID needed for installation. Use this to register custom extensions before installing them.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
namestringyesName for the extension
releaseIdstringyesThe release ID of the extension (e.g. "blrXXX")

No output schema declared.

No examples provided.

create_extension_dashboard ~71

Create a new extension dashboard page in a base. Extensions are installed onto dashboard pages.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
namestringyesName for the dashboard page

No output schema declared.

No examples provided.

create_field ~250

Create a new field in an Airtable table. Supports all field types including computed fields (formula, rollup, lookup, count) that are not available via the official API.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
descriptionstringOptional field description
fieldTypestringyesThe field type: "formula", "rollup", "lookup", "count", "text", "number", "checkbox", etc.
insertAfterFieldIdstringOptional: field ID to insert after. Omit to append at end.
namestringyesName for the new field
tableIdstringyesThe table ID to create the field in (e.g. "tblXXX")
typeOptionsobjectType-specific config. For formula: { formulaText: "..." }. For rollup: { fieldIdInLinkedTable, recordLinkFieldId, resultType, referencedFieldIds }. For lookup: { recordLinkFieldId, fieldIdInLinkedTab…

No output schema declared.

No examples provided.

create_formula_field ~103

Create a new formula field in a table. Shorthand for create_field with type "formula".

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
formulaTextstringyesThe formula expression
namestringyesName for the new formula field
tableIdstringyesThe table ID (e.g. "tblXXX")

No output schema declared.

No examples provided.

create_view ~184

Create a new view in an Airtable table. Optionally copy configuration from an existing view. View types: "grid", "form", "kanban", "calendar", "gallery", "gantt", "levels" (list view).

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
copyFromViewIdstringOptional: view ID to copy configuration from (creates a fresh view with same settings).
debugbooleanWhen true, include raw Airtable response in output for diagnostics
namestringyesName for the new view
tableIdstringyesThe table ID to create the view in
typestringView type: "grid", "form", "kanban", "calendar", "gallery", "gantt", "levels" (list). Default: "grid".

No output schema declared.

No examples provided.

delete_field ~160

Delete a field from an Airtable table. Requires both fieldId AND the expected field name as a safety guard. First checks for downstream dependencies — if found, returns dependency info instead of deleting. Set force=true to delete even with dependencies.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
expectedNamestringyesThe expected name of the field. Must match exactly or deletion is refused.
fieldIdstringyesThe field/column ID to delete (e.g. "fldXXX")
forcebooleanWhen true, delete even if the field has downstream dependencies (other fields referencing it). Default: false.

No output schema declared.

No examples provided.

delete_view ~79

Delete a view from a table. Cannot delete the last remaining view in a table.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
viewIdstringyesThe view ID to delete (e.g. "viwXXX")

No output schema declared.

No examples provided.

duplicate_extension ~80

Duplicate an installed extension on a dashboard page.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
pageIdstringyesThe dashboard page to place the duplicate on
sourceInstallationIdstringyesThe installation ID to duplicate

No output schema declared.

No examples provided.

duplicate_field ~100

Duplicate (clone) a field in a table. Optionally also duplicate the cell values.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
duplicateCellsbooleanAlso copy cell values. Default: false
sourceFieldIdstringyesThe field ID to duplicate
tableIdstringyesThe table ID

No output schema declared.

No examples provided.

duplicate_view ~109

Duplicate an existing view with all its configuration (filters, sorts, field visibility, etc).

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
newNamestringyesName for the duplicated view
sourceViewIdstringyesThe view ID to duplicate (e.g. "viwXXX")
tableIdstringyesThe table ID the view belongs to

No output schema declared.

No examples provided.

get_base_schema ~67

Get the full schema of an Airtable base including all tables, fields, and views.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID (e.g. "appXXX")
debugbooleanWhen true, include raw Airtable response in output for diagnostics

No output schema declared.

No examples provided.

get_table_schema ~81

Get the full schema for a single table including all fields and views.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
tableIdOrNamestringyesThe table ID (e.g. "tblXXX") or exact table name

No output schema declared.

No examples provided.

install_extension ~118

Install an extension onto a dashboard page. Requires a block ID (from create_extension) and a page ID (from create_extension_dashboard).

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
blockIdstringyesThe block ID (e.g. "blkXXX")
debugbooleanWhen true, include raw Airtable response in output for diagnostics
namestringyesDisplay name for this installation
pageIdstringyesThe dashboard page ID (e.g. "bipXXX")

No output schema declared.

No examples provided.

list_fields ~76

List all fields (columns) in a specific table of an Airtable base.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
tableIdOrNamestringyesThe table ID or name to list fields for

No output schema declared.

No examples provided.

list_tables ~61

List all tables in an Airtable base with their IDs and names. Uses lightweight scaffolding data.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics

No output schema declared.

No examples provided.

list_views ~72

List all views in a specific table with their IDs, names, and types.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
tableIdOrNamestringyesThe table ID or name

No output schema declared.

No examples provided.

manage_tools ~157

Control which tools are available. Actions: list_profiles, switch_profile, get_tool_status, toggle_tool, toggle_category. Use this to switch between read-only, safe-write, full, or custom profiles, or enable/disable individual tools.

NameTypeReqDescription
actionstringyesThe action to perform
categorystringCategory name for toggle_category action (read, field-write, field-destructive, view-write, view-destructive, extension)
enabledbooleanEnable (true) or disable (false) for toggle_tool / toggle_category actions
profilestringProfile name for switch_profile action (read-only, safe-write, full, custom)
toolstringTool name for toggle_tool action

No output schema declared.

No examples provided.

remove_extension ~70

Remove an installed extension from a dashboard.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
installationIdstringyesThe block installation ID to remove (e.g. "bliXXX")

No output schema declared.

No examples provided.

rename_extension ~77

Rename an installed extension.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
installationIdstringyesThe block installation ID (e.g. "bliXXX")
namestringyesNew name for the extension

No output schema declared.

No examples provided.

rename_field ~92

Rename a field (column) in an Airtable table. Pre-validates the field exists before mutating.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
fieldIdstringyesThe field/column ID to rename
newNamestringyesThe new name for the field

No output schema declared.

No examples provided.

rename_view ~80

Rename a view.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
newNamestringyesThe new name for the view
viewIdstringyesThe view ID to rename (e.g. "viwXXX")

No output schema declared.

No examples provided.

reorder_view_fields ~138

Reorder the fields (columns) displayed in a view. Provide a mapping of field IDs to their desired column index positions.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
fieldOrderobjectyesMap of field IDs to target column indices: { "fldXXX": 0, "fldYYY": 1, "fldZZZ": 2 }. Index 0 is the leftmost position after the primary field.
viewIdstringyesThe view ID (e.g. "viwXXX")

No output schema declared.

No examples provided.

show_or_hide_view_columns ~116

Show or hide specific fields (columns) in a view. Unlike show_or_hide_all, this targets individual columns.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
columnIdsarrayyesArray of field IDs to show or hide
debugbooleanWhen true, include raw Airtable response in output for diagnostics
viewIdstringyesThe view ID (e.g. "viwXXX")
visibilitybooleanyestrue to show, false to hide

No output schema declared.

No examples provided.

update_extension_state ~81

Enable or disable an extension installation.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
installationIdstringyesThe block installation ID (e.g. "bliXXX")
statestringyes"enabled" or "disabled"

No output schema declared.

No examples provided.

update_field_config ~139

Update the configuration of any computed field (formula, rollup, lookup, count, etc). Use this to change formula text, rollup settings, etc.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
fieldIdstringyesThe field/column ID (e.g. "fldXXX")
fieldTypestringyesThe field type: "formula", "rollup", "lookup", "count"
typeOptionsobjectyesType-specific options. For formula: { formulaText: "..." }

No output schema declared.

No examples provided.

update_field_description ~81

Update the description text of a field.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
descriptionstringyesThe new description text
fieldIdstringyesThe field/column ID (e.g. "fldXXX")

No output schema declared.

No examples provided.

update_formula_field ~95

Update the formula text of an existing formula field. Shorthand for update_field_config with type "formula".

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
fieldIdstringyesThe field/column ID (e.g. "fldXXX")
formulaTextstringyesThe new formula text

No output schema declared.

No examples provided.

update_view_description ~86

Update the description text of a view.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
descriptionstringyesThe new description text. Use empty string to clear.
viewIdstringyesThe view ID (e.g. "viwXXX")

No output schema declared.

No examples provided.

update_view_filters ~135

Update the filter configuration of a view. Supports AND/OR conjunctions with field-level filter conditions.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
filtersobjectyesFilter config: { filterSet: [{ columnId: "fldXXX", operator: "contains"|"isEmpty"|"isNot"|..., value: "..." }], conjunction: "and"|"or" }
viewIdstringyesThe view ID to update filters on (e.g. "viwXXX")

No output schema declared.

No examples provided.

update_view_group_levels ~94

Set grouping on a view. Pass an empty array to clear grouping.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
groupLevelsarrayyesArray of group levels. Empty array [] clears grouping.
viewIdstringyesThe view ID (e.g. "viwXXX")

No output schema declared.

No examples provided.

update_view_row_height ~95

Change the row height of a grid view.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
rowHeightstringyesRow height: "small", "medium", "large", or "xlarge"
viewIdstringyesThe view ID (e.g. "viwXXX")

No output schema declared.

No examples provided.

validate_formula ~112

Validate a formula expression before creating or updating a formula field. Returns whether the formula is valid and what result type it produces (text, number, etc). Use this before create/update to catch errors early.

NameTypeReqDescription
appIdstringyesThe Airtable base/application ID
debugbooleanWhen true, include raw Airtable response in output for diagnostics
formulaTextstringyesThe formula expression to validate
tableIdstringyesThe table ID where the formula will be used

No output schema declared.

No examples provided.

Common questions

What is the Airtable User MCP server?

Airtable User MCP is listed in the public MCP registry as io.github.Automations-Project/airtable-user-mcp. Manage Airtable bases: schema, field CRUD, views, formula validation, extensions. This page covers its npm package (airtable-user-mcp).

Is the Airtable User MCP server safe to use?

Airtable User MCP scores 94 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Airtable User MCP server expose?

Airtable User MCP exposes 33 tools: get_base_schema, list_tables, get_table_schema, list_fields, list_views, and 28 more. Their descriptions and schemas cost roughly 3,459 tokens of context every time the server is loaded.

Is the Airtable User MCP server still maintained?

Airtable User MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Airtable User MCP server under?

Airtable User MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.