Server has 21 tools with mostly complete schemas and descriptions. Naming follows verb_noun convention well (batch_delete_emails, create_event, search_emails). However, many tool descriptions are terse (10-30 chars), falling below the 50-200 char LLM-optimized baseline. Parameter descriptions exist but lack detail on constraints, formats, and error recovery. batch_modify_emails and several mail tools have minimal descriptions. Output schemas are not documented in the tool definitions. Error handling guidance is absent, no recovery hints for common failures (auth, rate limits, not found). Destructive tools (batch_delete_emails, delete_email, delete_event) lack confirmation/dry-run patterns.
Permanently deletes multiple emails in batches
Batch modify emails
Create a new calendar event
Create a label
Delete an email
Delete a calendar event
Delete a label
Draft an email
13 of 21 tools have no visible input schema in the provided source. batch_modify_emails, create_label, delete_email, delete_label, draft_email, list_email_labels, modify_email, read_email, search_emails, send_email, update_label, list_calendars, list_colors lack documented schemas, making it impossible for LLMs to construct valid calls.
Most tool descriptions are under 30 characters (e.g., 'Delete an email', 'Create a label', 'Draft an email'). These lack context on WHEN to use the tool, WHAT it returns, and any prerequisites. LLM-optimized descriptions should be 50-200 chars and answer: what does it do, when to use it, what does it return?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
Finds times when a group of calendars are busy or free
Get or create a label
Lists the user's calendars
Lists available calendar colors
List email labels
Lists events on a calendar
Modify an email
Read an email
Search emails
Searches for events on a calendar
Send an email
Updates an existing calendar event
Update a label
Destructive tools (batch_delete_emails, delete_email, delete_label, delete_event) lack confirmation or dry-run patterns. Agents can permanently delete data without a safety gate. No error recovery guidance provided, if deletion fails, the LLM has no hint on what to do next.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does create_event return event_id? Does search_emails return message_ids?). This forces agents to guess field names and risks broken tool chains.
Parameter descriptions lack constraint details. E.g., batch_delete_emails.batchSize has no min/max bounds; create_event.timeZone description does not explain IANA format requirement; no guidance on what happens if invalid timezone is passed. LLMs cannot self-correct without explicit constraints.