Skip to content

Commit f1f5aa7

Browse files
ARHAEEMclaude
andcommitted
docs: propagate record-templates milestone — CHANGELOG, READMEs (52→61), Settings UI
CHANGELOG gets a new 2.5.0 section covering the 9 record template tools and the round-4 user-report fixes carried in. Root + mcp-server READMEs bump total to 61, expand Schema Read to 9, add a Record Templates (8) section. Webview Settings descriptions updated for read/table-write/table-destructive to reflect the new tool roster. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 3e48903 commit f1f5aa7

4 files changed

Lines changed: 72 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,51 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
66

77
## [Unreleased]
88

9+
### MCP Server 2.5.0 — Record Templates (9 new tools) + round-4 user-report fixes (2026-05-01)
10+
11+
Promotes record templates to a first-class MCP capability. Templates are
12+
the saved row scaffolds that Airtable surfaces under the "+ Add record"
13+
flyout and inside the row-create extension — previously not addressable
14+
through any public or internal API client we had. Discovered by capturing
15+
the rowTemplate endpoints with `pnpm capture:cdp:mutations` while the
16+
reporter exercised every template UI path.
17+
18+
**New tools (9):**
19+
20+
| Tool | Category | Purpose |
21+
|:-----|:---------|:--------|
22+
| `list_record_templates` | read | List record templates for a table |
23+
| `create_record_template` | table-write | Create a template (client-side `rtp...` ID like view sections use `vsc...`) |
24+
| `rename_record_template` | table-write | Rename a template |
25+
| `update_record_template_description` | table-write | Set or clear a template's description |
26+
| `set_record_template_cell` | table-write | Set a cell value in a template (static, linked rows, or linked templates) |
27+
| `set_record_template_visible_columns` | table-write | Choose which columns the template surfaces in its UI |
28+
| `duplicate_record_template` | table-write | Clone an existing template |
29+
| `apply_record_template` | table-write | Apply a template — creates a new record using the template's cell defaults |
30+
| `delete_record_template` | table-destructive | Delete a template |
31+
32+
**Round-4 fixes (carried into 2.5.0 from interim 2.4.4 work):**
33+
34+
- `set_view_columns` now filters the primary column out of the move step
35+
before calling `moveVisibleColumns` — Airtable rejects any move that
36+
displaces the pinned primary at index 0.
37+
- `reorder_view_fields` `mergePartialFieldOrder` protects the primary
38+
column at index 0; user-requested moves to index 0 are clamped to 1.
39+
- `update_view_group_levels` always sends `emptyGroupState: 'hidden'`;
40+
Airtable's API rejects `'visible'` with INVALID_REQUEST.
41+
- `list_tables` now reads `data.tableById` as a fallback when
42+
`tableSchemas` / `tables` / `tableDatas` are absent (matches the shape
43+
the reporter saw).
44+
- `update_view_filters` `isWithin` corrected: requires `timeZone` (IANA)
45+
and `shouldUseCorrectTimeZoneForFormulaicColumn: true`, no `exactDate`,
46+
modes are `thisCalendarMonth` / `thisCalendarYear` (not `thisMonth` /
47+
`thisYear`). Tool description and AI skill template updated.
48+
49+
**Counts:** 52 → **61 tools**. `read-only` profile: 8 → 9. `safe-write`
50+
profile: 39 → 47. `full` profile: 52 → 61.
51+
52+
mcp-server: 2.4.4 → 2.5.0.
53+
954
### MCP Server 2.4.3 — `list_view_sections` full fix (carry-over from 2.4.2)
1055

1156
Probed the schema read response with a fresh patchright session against

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,17 +131,18 @@ This monorepo ships **two products** from one source tree:
131131
- **Dashboard** — React webview with Overview, Setup, and Settings tabs
132132

133133

134-
### MCP Server (52 Tools)
134+
### MCP Server (61 Tools)
135135

136136
Manage Airtable bases with capabilities **not available through the official REST API**:
137137

138138
| Category | Tools | Highlights |
139139
|:---------|:-----:|:-----------|
140-
| **Schema Read** | 8 | Full schema inspection — bases, tables, fields, views, sidebar sections |
140+
| **Schema Read** | 9 | Full schema inspection — bases, tables, fields, views, sidebar sections, record templates |
141141
| **Table Management** | 3 | create / rename / delete tables |
142142
| **Field Management** | 8 | Create formula / rollup / lookup / count fields, validate formulas, update descriptions, delete |
143143
| **View Configuration** | 20 | Filters, sorts, grouping, columns, freezing, row height, covers, color rules, calendar dates, create / duplicate / rename / delete |
144144
| **Sidebar Sections** | 4 | Create, rename, move-into-section, delete (auto-promotes contained views to ungrouped) |
145+
| **Record Templates** | 8 | Create / rename / describe / set cells / set columns / duplicate / apply / delete saved row scaffolds |
145146
| **Form Metadata** | 2 | Description, redirect URL, attribution, copy-to-respondent, branding (legacy form views) |
146147
| **Extension Management** | 7 | Create, install, enable/disable, rename, duplicate, remove extensions |
147148

packages/mcp-server/README.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ The official Airtable MCP is a thin wrapper over the public Web API. That API
9191
npx airtable-user-mcp
9292
```
9393

94-
That's it. Your MCP client connects via **stdio** and gets access to all 52 tools.
94+
That's it. Your MCP client connects via **stdio** and gets access to all 61 tools.
9595

9696
---
9797

@@ -208,7 +208,7 @@ Add the `airtable` entry to `mcpServers`:
208208
}
209209
```
210210

211-
Save, then **fully quit and reopen Claude Desktop** (closing the window is not enough). A hammer/plug icon in the chat input confirms the server is connected — click it to see the 52 tools.
211+
Save, then **fully quit and reopen Claude Desktop** (closing the window is not enough). A hammer/plug icon in the chat input confirms the server is connected — click it to see the 61 tools.
212212

213213
</details>
214214

@@ -231,7 +231,7 @@ Verify:
231231
claude mcp list
232232
```
233233

234-
You should see `airtable: npx -y airtable-user-mcp - ✓ Connected`. Start a Claude Code session in that directory and the 52 tools are available.
234+
You should see `airtable: npx -y airtable-user-mcp - ✓ Connected`. Start a Claude Code session in that directory and the 61 tools are available.
235235

236236
</details>
237237

@@ -332,9 +332,9 @@ npx airtable-user-mcp --help Show this help
332332

333333
---
334334

335-
## Tools (52)
335+
## Tools (61)
336336

337-
### Schema Read (8)
337+
### Schema Read (9)
338338

339339
| Tool | Description |
340340
|:-----|:------------|
@@ -346,6 +346,7 @@ npx airtable-user-mcp --help Show this help
346346
| `get_view` | Read a single view's full state — filters, sorts, grouping, visibility, description |
347347
| `validate_formula` | Validate a formula expression before applying |
348348
| `list_view_sections` | List sidebar sections for a table with their view membership |
349+
| `list_record_templates` | List record templates (saved row scaffolds) for a table |
349350

350351
### Table Management (3)
351352

@@ -402,6 +403,21 @@ npx airtable-user-mcp --help Show this help
402403
| `move_view_to_section` | Move view INTO a section, OUT to ungrouped, reorder within a section, or reorder sections among each other |
403404
| `delete_view_section` | Destroy a section. Contained views are auto-promoted to ungrouped at the section's former position |
404405

406+
### Record Templates (8)
407+
408+
Saved row scaffolds Airtable surfaces under "+ Add record" and the row-create extension. Cell values can be static, linked rows, or references to other templates.
409+
410+
| Tool | Description |
411+
|:-----|:------------|
412+
| `create_record_template` | Create a new record template (client-side `rtp...` ID) |
413+
| `rename_record_template` | Rename a template |
414+
| `update_record_template_description` | Set or clear a template's description |
415+
| `set_record_template_cell` | Set a cell value — `static` (text/number/select), `linkedRows`, or `linkedTemplates` |
416+
| `set_record_template_visible_columns` | Choose which columns the template surfaces in its UI |
417+
| `duplicate_record_template` | Clone an existing template |
418+
| `apply_record_template` | Apply a template to create a new record using its cell defaults |
419+
| `delete_record_template` | Delete a template |
420+
405421
### Form Metadata (2 — legacy form views only)
406422

407423
| Tool | Description |

packages/webview/src/tabs/Settings.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -557,9 +557,9 @@ export function Settings() {
557557

558558
{settings.mcp.toolProfile.profile === 'custom' && (
559559
<div className="stack stack-sm" style={{ paddingTop: 4, borderTop: '1px solid var(--border)', marginTop: 4 }}>
560-
<SettingToggle label="Read / Inspect" desc="Schema, fields, views, formula validation, list_view_sections (8 tools)" value={settings.mcp.toolProfile.categories.read} settingKey="mcp.categories.read" />
561-
<SettingToggle label="Table Write" desc="create_table, rename_table (2 tools)" value={settings.mcp.toolProfile.categories.tableWrite} settingKey="mcp.categories.tableWrite" />
562-
<SettingToggle label="Table Destructive" desc="delete_table (1 tool)" value={settings.mcp.toolProfile.categories.tableDestructive} settingKey="mcp.categories.tableDestructive" />
560+
<SettingToggle label="Read / Inspect" desc="Schema, fields, views, formula validation, sidebar sections, record templates (9 tools)" value={settings.mcp.toolProfile.categories.read} settingKey="mcp.categories.read" />
561+
<SettingToggle label="Table Write" desc="Tables + record templates: create / rename / update / set cells / duplicate / apply (9 tools)" value={settings.mcp.toolProfile.categories.tableWrite} settingKey="mcp.categories.tableWrite" />
562+
<SettingToggle label="Table Destructive" desc="delete_table, delete_record_template (2 tools)" value={settings.mcp.toolProfile.categories.tableDestructive} settingKey="mcp.categories.tableDestructive" />
563563
<SettingToggle label="Field Write" desc="Create / update / rename / duplicate fields (7 tools)" value={settings.mcp.toolProfile.categories.fieldWrite} settingKey="mcp.categories.fieldWrite" />
564564
<SettingToggle label="Field Destructive" desc="delete_field (1 tool)" value={settings.mcp.toolProfile.categories.fieldDestructive} settingKey="mcp.categories.fieldDestructive" />
565565
<SettingToggle label="View Write" desc="Views, filters, sorts, columns, freezing, covers, calendar dates (19 tools)" value={settings.mcp.toolProfile.categories.viewWrite} settingKey="mcp.categories.viewWrite" />

0 commit comments

Comments
 (0)