This server has complete input schemas with proper types and descriptions for all 5 tools, which is a strong foundation. However, tool descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameter descriptions are present but minimal (e.g., 'Airtable personal access token' lacks format/constraint details). Critical security issue: _apiKey is exposed as a tool parameter, violating secret-injection pattern. No output schemas documented. Error handling is minimal (generic Airtable API errors). Tool naming is clear and verb-based (list_, get_, create_), but composition could be improved, no pagination support despite list_records potentially returning large datasets.
Create a new record in an Airtable table.
Get the schema (tables and fields) for an Airtable base.
Get a single record by ID from an Airtable table.
List all bases accessible to the authenticated user.
List records from an Airtable table. Supports optional formula filtering.
API key exposed as tool parameter (_apiKey). Credentials must never appear in tool parameters, use server-side secret injection via environment variables or vault. Agent traces log every parameter, leaking secrets into logs and prompt history.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. Document return types for all tools.
list_records lacks pagination support (no offset/cursor, no total count). Large result sets will blow context window. Add limit, offset/cursor parameters and return total_count.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Descriptions are generic and lack LLM-optimized guidance. 'List records from an Airtable table' (40 chars) does not explain WHEN to use this vs. get_record, or what the response structure is. Expand to 50-200 chars with context.
No error handling guidance. Generic 'Airtable API error (status): text' responses give LLMs no recovery path. Categorize errors (retryable, user-fixable, fatal) and provide actionable next steps.