An MCP server that provides tools for querying and mutating Airtable bases with approval workflows, syncing data to DuckDB, and OAuth integration.
Server has 6 tools with basic naming and descriptions, but critical gaps in schema completeness, parameter documentation, and error handling. Tool definitions are inferred from test files and frontend code rather than explicit registration in the MCP handler. Input schemas present but lack required/optional field declarations and detailed parameter descriptions. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages. Descriptions are present but generic (avg ~80 chars, below 194-char baseline). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite high-risk operations (delete, create, update). Security concern: approval workflow mentioned but not reflected in tool definitions or error handling.
Create new records in an Airtable table with approval workflow
Create new tables in an Airtable base with approval workflow
Delete records from an Airtable table with approval workflow
Execute SQL queries against synced Airtable data in DuckDB
Update existing records in an Airtable table with approval workflow
Update table schemas in an Airtable base with approval workflow
Tool definitions inferred from test/frontend files, not explicit MCP registration. Cannot verify actual schema enforcement or parameter validation in handler code.
Input schemas lack required/optional field declarations. 'records' and 'tables' parameters are arrays with no item schema or constraints documented.
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. No pagination support visible for query results.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2025-06-18+ | v2 |
Destructive operations (delete_records, update_records) lack confirmation/dry-run support and tool annotations (destructiveHint). No error guidance for recovery.
Parameter descriptions are minimal or missing. 'records' and 'tables' arrays have no field-level documentation. 'base' parameter accepts 'identifier or name' but no format guidance.