MCP server on Cloudflare Workers proxying iCloud Mail (IMAP), Calendar (CalDAV), and Contacts (CardDAV)
Critical gaps across all dimensions. Tool definitions lack input schemas entirely, no visible JSON Schema definitions in source code. Descriptions are minimal (10-50 chars) and generic. Parameters are undocumented. No output schemas defined. Error handling is absent. The server registers 12 tools but provides almost no machine-readable guidance for LLM selection or parameter construction. This is a skeleton implementation missing the substance required for agent integration.
Create a new event in iCloud Calendar
Retrieve events from iCloud Calendar
List available calendars from iCloud
Search for events in iCloud Calendar
Retrieve a specific contact from iCloud
List available contacts from iCloud
Diagnostic tool for DAV (CalDAV/CardDAV) functionality
Retrieve a specific message from iCloud Mail
No input schemas visible in source code. Tools registered with names and descriptions only; no JSON Schema parameter definitions found in tool registration calls.
Descriptions are generic and under 50 characters. Examples: 'Diagnostic tool for IMAP mail functionality' (44 chars), 'List available mailboxes from iCloud Mail' (42 chars). No guidance on when to use each tool, prerequisites, or what to expect.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Get the body content of a message from iCloud Mail
Diagnostic tool for IMAP mail functionality
List available mailboxes from iCloud Mail
Search for messages in iCloud Mail
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, preventing downstream tool chaining and forcing wasteful discovery calls.
No error handling guidance. Errors will be raw exceptions or HTTP status codes with no recovery hints. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
calendar_create_event (WRITE operation) lacks confirmation/dry-run pattern. Agents can accidentally create duplicate events with no undo mechanism.