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.

com.mcparmory/airtable

OCI · GHCR.IO/MCPARMORY/AIRTABLE:1.0.3 · 2 COMPONENTS · SCANNED SEP 20

Create, read, update, and delete records in Airtable bases and tables

−1 this week 48 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 Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
Schema Quality & AI Usability70
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2109 tokens (~175/item across 12 items; 12 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 Management80
  • Stability observed for 24 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 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 12 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

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the com.mcparmory/airtable MCP server?

com.mcparmory/airtable runs locally as a container image, launched with docker run --rm -i ghcr.io/mcparmory/airtable:1.0.3. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/mcparmory/airtable:1.0.3

# add to Claude Code
claude mcp add com-mcparmory-airtable -- docker run --rm -i ghcr.io/mcparmory/airtable:1.0.3
// .cursor/mcp.json
{
  "mcpServers": {
    "com-mcparmory-airtable": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/airtable:1.0.3"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-mcparmory-airtable": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/airtable:1.0.3"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-mcparmory-airtable -- docker run --rm -i ghcr.io/mcparmory/airtable:1.0.3
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcparmory-airtable": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/airtable:1.0.3"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  com-mcparmory-airtable:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/mcparmory/airtable:1.0.3"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-mcparmory-airtable": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/airtable:1.0.3"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "com-mcparmory-airtable": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/airtable:1.0.3"
      ]
    }
  }
}
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.

  • 19 Sept 26 −3
    • Stability: pass → 0.77 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 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.

  • 15 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.

  • 13 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.

  • 12 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 11 Sept 26 0
    • Stability: 0.97 → pass security
  • 10 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.

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 oci/ghcr.io/mcparmory/airtable:1.0.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 12 exposed · ~2,109 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
create_records ~175

Create multiple records in a table. Submit up to 10 record objects in a single request, with cell values keyed by field name or field ID. Returns an array of newly created record IDs.

NameTypeReqDescription
baseIdstringyesThe unique identifier for the base containing the target table.
recordsarrayArray of up to 10 record objects to create. Each record object should contain a single key with an inner object of cell values, keyed by field name or field ID.
tableIdOrNamestringyesThe table identifier or name. Table IDs are recommended to avoid needing request updates when table names change.
typecastbooleanEnable automatic type conversion from string values to appropriate field types. Disabled by default to preserve data integrity; enable when integrating with third-party data sources that may require…

No output schema declared.

No examples provided.

delete_record ~96

Permanently deletes a single record from a table. This action cannot be undone.

NameTypeReqDescription
baseIdstringyesThe unique identifier of the base containing the table and record to delete.
recordIdstringyesThe unique identifier of the record to delete.
tableIdOrNamestringyesThe table identifier or name where the record is located. Can be specified by either the table's unique ID or its display name.

No output schema declared.

No examples provided.

delete_records ~104

Delete multiple records from a table by their record IDs. Supports batch deletion of up to 10 records in a single request.

NameTypeReqDescription
baseIdstringyesThe unique identifier for the base containing the table.
recordsarrayArray of record IDs to delete. Accepts up to 10 record IDs per request. Each ID should be a valid record identifier string.
tableIdOrNamestringyesThe table identifier or name where records will be deleted.

No output schema declared.

No examples provided.

get_current_user ~45

Retrieve the current authenticated user's identity and account information. Returns the user ID, associated OAuth scopes (if applicable), and email address (if the token has user.email:read scope).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_record ~153

Retrieve a single record by its ID from a specified table. If the record is not found in the table, the system automatically searches across the entire base and returns the record if located.

NameTypeReqDescription
baseIdstringyesThe unique identifier of the base containing the record.
cellFormatstringThe format for cell values in the response. Use 'json' to format cells according to their field type, or 'string' to format all cells as user-facing strings (requires timeZone and userLocale paramete…
recordIdstringyesThe unique identifier of the record to retrieve.
tableIdOrNamestringyesThe table identifier or name where the record is located.

No output schema declared.

No examples provided.

list_table_records ~438

Retrieve paginated records from a table with optional filtering, formatting, and view selection. Results are returned one page at a time (up to 100 records per page by default), with pagination support via offset tokens.

NameTypeReqDescription
baseIdstringyesThe unique identifier for the base containing the table.
cellFormatstringFormat for cell values: 'json' returns type-specific JSON representations, 'string' returns user-facing formatted strings. When using 'string', timeZone and userLocale are required.
filterByFormulastringA formula to filter records. Records are included if the formula evaluates to a truthy value (excluding 0, false, empty string, NaN, empty array, or #Error!).
maxRecordsintegerThe maximum total number of records to return across all paginated requests. Must be at least 1.
offsetstringPagination token from a previous response. Include this to fetch the next page of records.
pageSizeintegerNumber of records to return per page. Must be between 1 and 100 (defaults to 100).
recordMetadataarrayOptional metadata to include with each record. When specified, adds commentCount to the record metadata.
sort_directionsarrayList of sort directions corresponding to sort_fields. Each value must be 'asc' or 'desc'. If shorter than sort_fields, remaining fields default to 'asc'.
sort_fieldsarrayList of field names to sort by, in order of precedence
tableIdOrNamestringyesThe table identifier or name to query records from.
timeZonestringThe time zone for formatting dates when using string cell format (required if cellFormat is 'string'). Use standard time zone identifiers.
userLocalestringThe user locale for formatting dates when using string cell format (required if cellFormat is 'string'). Use standard locale codes.
viewstringFilter results to a specific view by its name or ID. Only records visible in that view will be returned.

No output schema declared.

No examples provided.

replace_record ~168

Destructively update a single record in a table, clearing all unspecified cell values. Use this operation when you want to replace the entire record content with new values.

NameTypeReqDescription
baseIdstringyesThe unique identifier for the base containing the table and record to update.
fieldsobjectyesAn object containing the cell values for the record, keyed by field name or field ID. Any fields omitted from this object will be cleared during the update.
recordIdstringyesThe unique identifier of the record to update.
tableIdOrNamestringyesThe table identifier or name. Both formats are accepted interchangeably.
typecastbooleanEnable automatic data type conversion from string values when integrating with third-party data sources. Disabled by default to maintain data integrity.

No output schema declared.

No examples provided.

replace_records ~174

Replace multiple records in a table with a destructive update that clears all unincluded cell values. Supports upserting up to 10 records by matching on specified field(s).

NameTypeReqDescription
baseIdstringyesThe unique identifier of the base containing the table.
fieldsToMergeOnarrayyesOne to three field names or IDs used to match and identify records for replacement. Field IDs must uniquely identify a single record.
recordsarrayyesArray of up to 10 records to replace or upsert, with each record containing field values to apply.
tableIdOrNamestringyesThe unique identifier or name of the table to update.
typecastbooleanWhen enabled, Airtable will attempt to convert string values to appropriate cell types (e.g., numbers, dates). Defaults to false.

No output schema declared.

No examples provided.

sync_table_data ~158

Syncs CSV data into a Sync API table. The CSV can contain up to 10,000 rows and 500 columns, with a maximum HTTP request size of 2 MB per sync run.

NameTypeReqDescription
apiEndpointSyncIdstringyesThe API endpoint sync identifier, obtained from the Sync API table setup flow or the synced table settings.
baseIdstringyesThe unique identifier for the base containing the table to sync.
bodystringyesRaw CSV data to sync into the table. Supports up to 10,000 rows and 500 columns, with a total request size not exceeding 2 MB.
tableIdOrNamestringyesThe table identifier or name where the CSV data will be synced.

No output schema declared.

No examples provided.

update_record ~178

Partially update a single record in a table by specifying only the fields you want to change. Unspecified fields remain unchanged. Table names and IDs can be used interchangeably.

NameTypeReqDescription
baseIdstringyesThe unique identifier for the base containing the record.
fieldsobjectyesAn object containing the field values to update, keyed by field name or field ID. Only specified fields will be updated; all other fields remain unchanged.
recordIdstringyesThe unique identifier of the record to update.
tableIdOrNamestringyesThe table identifier or name where the record is located. Both table IDs and table names are accepted.
typecastbooleanEnable automatic data type conversion from string values when updating fields. Disabled by default to preserve data integrity, but useful when integrating with third-party data sources.

No output schema declared.

No examples provided.

update_records ~232

Update or upsert up to 10 records in a table. When performUpsert is enabled, records matching the specified merge fields are updated; non-matching records are created. Only fields included in the request are modified; all other fields remain unchanged.

NameTypeReqDescription
baseIdstringyesThe unique identifier of the base containing the table.
fieldsToMergeOnarrayyesOne to three field names or IDs used to identify which records to update or upsert. Field IDs must uniquely identify a single record. When multiple fields are specified, all must match for a record t…
recordsarrayyesArray of record objects to update or upsert, with a maximum of 10 records per request. Each record should include the merge-on fields and any fields to be updated.
tableIdOrNamestringyesThe unique identifier or name of the table to update records in.
typecastbooleanWhen enabled, Airtable will automatically convert string values to appropriate cell types (e.g., '123' to number, 'true' to checkbox). Defaults to false.

No output schema declared.

No examples provided.

upload_attachment ~188

Upload a file attachment (up to 5 MB) directly to an attachment field in a record. The file must be provided as base64-encoded bytes along with its content type and filename.

NameTypeReqDescription
attachmentFieldIdOrNamestringyesThe ID or name of the attachment field where the file will be uploaded.
baseIdstringyesThe unique identifier of the base containing the record.
contentTypestringyesThe MIME type of the file being uploaded (e.g., image/jpeg, application/pdf, text/plain).
filestringyesThe file content encoded as a base64 string. The decoded file size must not exceed 5 MB.
filenamestringyesThe name of the file including its extension (e.g., document.pdf, photo.jpg).
recordIdstringyesThe unique identifier of the record where the attachment will be added.

No output schema declared.

No examples provided.

Common questions

What is the com.mcparmory/airtable MCP server?

com.mcparmory/airtable is an MCP server listed in the public MCP registry as com.mcparmory/airtable. Create, read, update, and delete records in Airtable bases and tables. This page covers its container image (ghcr.io/mcparmory/airtable:1.0.3).

Is the com.mcparmory/airtable MCP server safe to use?

com.mcparmory/airtable scores 48 out of 100 on VerifyMCP. 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 com.mcparmory/airtable MCP server expose?

com.mcparmory/airtable exposes 12 tools: get_current_user, list_table_records, create_records, replace_records, update_records, and 7 more. Their descriptions and schemas cost roughly 2,109 tokens of context every time the server is loaded.

Is the com.mcparmory/airtable MCP server still maintained?

com.mcparmory/airtable 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.