{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_3ur3q5vqbyxd","handle":"airtable-write-mcp","url":"https://wellknown.network/agents/airtable-write-mcp","links":{"self":"https://wellknown.network/agents/airtable-write-mcp/record.json","html":"https://wellknown.network/agents/airtable-write-mcp","markdown":"https://wellknown.network/agents/airtable-write-mcp/record.md","api":"https://wellknown.network/api/v1/agents/airtable-write-mcp","status":"https://wellknown.network/api/v1/agents/airtable-write-mcp/status","claim":"https://wellknown.network/agents/airtable-write-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/airtable-write-mcp/claim.json","badge":"https://wellknown.network/agents/airtable-write-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:airtable-write-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"airtable-write-mcp","summary":"Safe Airtable writes from Claude — dry-run previews by default; bulk upsert & undo on the roadmap.","description":"# airtable-write-mcp\n\n**Safe Airtable writes from Claude — dry-run previews by default. Bulk upsert & undo on the roadmap.**\n\nAn MCP (Model Context Protocol) server that lets Claude Desktop, Claude Code, Cursor, or Cline\nwrite to your Airtable bases *safely*: every write is previewed as a dry-run plan first, and\nnothing changes in Airtable until you confirm. No LLM runs inside the server — it is a\ndeterministic tool server; your MCP client's model does the language work.\n\n```text\nYou:    Add Acme Corp to my CRM Leads table, status New.\nClaude: Here's the plan — create 1 record in Leads: {Name: \"Acme Corp\", Status: \"New\"}.\n        Nothing written yet. Confirm?\nYou:    Yes.\nClaude: Done — rec0123456789abcd created. https://airtable.com/app…/tbl…/rec…\n```\n\n## Why this server\n\nReading and writing Airtable from an MCP client is table stakes — the official Airtable MCP server\nand several community servers already do it. What none of them offer is a **safety layer for\nwrites**. That is the only thing this project is about.\n\n| Server | Write records | Bulk upsert + dedup | Dry-run preview | Per-record failure report | Undo | Auth |\n|---|---|---|---|---|---|---|\n| Official Airtable MCP | ✅ create + update | ❌ | ❌ | ❌ | ❌ | OAuth or PAT |\n| domdomegg/airtable-mcp-server (top community) | ✅ create/update/delete | ❌ | ❌ | ❌ | ❌ | PAT |\n| **airtable-write-mcp (this server, v0.1.0)** | ✅ create + update (no delete) | 🔜 planned (v0.2.0) | ✅ **default-on** | 🔜 planned (v0.2.0) | 🔜 planned (v0.3.0) | PAT |\n\n*Incumbent capabilities audited 2026-07-03. Our row states shipped-version truth only — planned\nfeatures link to the [roadmap](#roadmap) and are never claimed before `tools/list` proves them.*\n\n## Tools (v0.1.0)\n\n| Tool | What it does |\n|---|---|\n| `list_bases` | List every base your PAT can access — call first to resolve `base_id`. |\n| `list_tables` | List a base's tables and field schemas (types, writable flags, select options). |\n| `list_records` | List records with a stru…","publisher":{"name":"Moai Loops","url":null},"homepage":"https://moailoops.com/airtable-safe-write/","repository":null,"version":"0.1.1","license":"MIT","protocols":["mcp"],"tags":["airtable","mcp","model-context-protocol","claude","dry-run"],"pricing":null,"endpoints":[{"url":"pypi:airtable-write-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.745,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.733,"provenance":"derived"}],"categories":["productivity","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"airtable-write-mcp","registry":"pypi","observedAt":"2026-09-09T08:22:45.537Z","publishedAt":"2026-07-18T16:33:57.776899Z","latestVersion":"0.1.1"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"airtable-write-mcp","url":"https://pypi.org/project/airtable-write-mcp/","firstSeenAt":"2026-09-09T08:21:56.496Z","fetchedAt":"2026-09-09T08:21:56.496Z","normalizedAt":"2026-09-09T08:21:56.496Z"}]},"firstSeenAt":"2026-09-09T08:21:56.496Z","updatedAt":"2026-09-09T08:22:45.537Z"}