update_formula_field
Update the formula expression of an existing formula field in an Airtable base. Specify the base, field, and new formula text to modify field behavior.
Instructions
Update the formula text of an existing formula field. Shorthand for update_field_config with type "formula".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | The Airtable base/application ID | |
| fieldId | Yes | The field/column ID (e.g. "fldXXX") | |
| formulaText | Yes | The new formula text | |
| debug | No | When true, include raw Airtable response in output for diagnostics |
Implementation Reference
- The tool handler function that executes update_formula_field logic. It delegates to update_field_config with fieldType='formula' and the provided formulaText as typeOptions.
async update_formula_field({ appId, fieldId, formulaText, debug }) { return handlers.update_field_config({ appId, fieldId, fieldType: 'formula', typeOptions: { formulaText }, debug, }); }, - Input schema (JSON Schema) for the update_formula_field tool, defining required parameters: appId, fieldId, formulaText, and optional debug.
{ name: 'update_formula_field', description: 'Update the formula text of an existing formula field. Shorthand for update_field_config with type "formula".', annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false }, inputSchema: { type: 'object', properties: { appId: { type: 'string', description: 'The Airtable base/application ID' }, fieldId: { type: 'string', description: 'The field/column ID (e.g. "fldXXX")' }, formulaText: { type: 'string', description: 'The new formula text' }, debug: debugProp, }, required: ['appId', 'fieldId', 'formulaText'], }, }, - packages/mcp-server/src/tool-config.js:50-50 (registration)Tool registration in the tool-config.js TOOL_CATEGORIES mapping, categorizing it as 'field-write'.
update_formula_field: 'field-write', - packages/extension/src/mcp/tool-profile.ts:59-59 (registration)Duplicate registration in the extension's tool-profile.ts TOOL_CATEGORIES mapping, also categorized as 'field-write'.
update_formula_field: 'field-write', - The underlying AirtableClient.updateFieldConfig method that actually calls the Airtable internal API (POST /v0.3/column/{id}/updateConfig) to update the field configuration. This is what update_formula_field ultimately delegates to via update_field_config.
async updateFieldConfig(appId, columnId, config) { assertAirtableId(appId, 'appId'); assertAirtableId(columnId, 'columnId'); await this.resolveField(appId, columnId); const url = `https://airtable.com/v0.3/column/${columnId}/updateConfig`; const normalized = normalizeFieldType(config.type, config.typeOptions); // Flat payload — matches real Airtable requests const payload = { type: normalized.type, typeOptions: normalized.typeOptions, }; const res = await this.auth.postForm(url, this._mutationParams(payload, appId), appId); if (!res.ok) { const errBody = await res.text().catch(() => ''); throw new Error(`updateFieldConfig failed (${res.status}): ${errBody}`); } this.cache.invalidate(appId); return res.json(); }