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

PYPI · MCPARMORY-AIRTABLE · 2 COMPONENTS

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

−3 this week 81 Trust /100

Last scanned (5 hours ago)

Scores higher than 82% of PyPI servers

Category Data and Analytics

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 Security100
  • 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
  • 2 of 45 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
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 current MCP spec version (2026-07-28).Pass
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.

  • 5 Nov 26 +16
    • Malware scan: unverified → pass ▲ security
  • 4 Nov 26 −4
    • Stability: pass → 0.77 functional
  • 3 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 2 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 1 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 31 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 30 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 29 Oct 26 +1
    • Stability: 0.97 → pass security
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 5 Nov 2026 · Analysed pypi/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 pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Dependencies 45 packages
Packages resolved 45
Stale 1
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

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.
recordsarray–Array 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.
typecastboolean–Enable 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.
recordsarray–Array 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.
cellFormatstring–The 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.
cellFormatstring–Format for cell values: 'json' returns type-specific JSON representations, 'string' returns user-facing formatted strings. When using 'string', timeZone and userLocale are required.
filterByFormulastring–A 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!).
maxRecordsinteger–The maximum total number of records to return across all paginated requests. Must be at least 1.
offsetstring–Pagination token from a previous response. Include this to fetch the next page of records.
pageSizeinteger–Number of records to return per page. Must be between 1 and 100 (defaults to 100).
recordMetadataarray–Optional metadata to include with each record. When specified, adds commentCount to the record metadata.
sort_directionsarray–List 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_fieldsarray–List of field names to sort by, in order of precedence
tableIdOrNamestringyesThe table identifier or name to query records from.
timeZonestring–The time zone for formatting dates when using string cell format (required if cellFormat is 'string'). Use standard time zone identifiers.
userLocalestring–The user locale for formatting dates when using string cell format (required if cellFormat is 'string'). Use standard locale codes.
viewstring–Filter 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.
typecastboolean–Enable 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.
typecastboolean–When 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.
typecastboolean–Enable 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.
typecastboolean–When 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.

Install

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

com.mcparmory/airtable runs locally as a PyPI package, launched with uvx mcparmory-airtable. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcparmory-airtable

# add to Claude Code
claude mcp add com-mcparmory-airtable -- uvx mcparmory-airtable
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 PyPI package (mcparmory-airtable).

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

com.mcparmory/airtable scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. 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 5 November 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 com.mcparmory/airtable MCP server under?

com.mcparmory/airtable declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.