AI-drafted client updates from your Git commits. Hosted approval. Scope-creep alerts with cost estimates.
Clientcast has well-structured Zod schemas and clear tool names following verb_noun convention (client_init, client_send, client_status, client_list, client_export). However, parameter descriptions are entirely missing, the Zod schemas define types but the source shows no descriptions attached to individual parameters. Tool descriptions are present but brief (34 - 72 chars), below the 194-char baseline for production tools. Output schemas are not documented. Error handling returns JSON with ok/error fields but lacks recovery guidance or actionable next steps. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (WRITE vs READ_ONLY). The server is functional but lacks the LLM-optimization depth expected of A-grade tools.
Export an update as markdown or email format.
Initialize clientcast in the current project. Creates .clientcast.json with project + client metadata.
List recent updates for the current project.
Generate and upload a client update from recent git commits. Returns shareable URL.
Get status of a specific update (or the latest). Includes replies and scope-creep flags.
Parameter descriptions completely missing. Zod schemas define types (string, number, enum) but no descriptions are visible in the source. LLMs cannot infer parameter meaning from names alone, 'since' could mean a timestamp, duration, or commit hash; 'model' lacks guidance on when to use sonnet vs opus vs haiku.
Tool descriptions are too brief (34 - 72 chars vs 194-char baseline). 'Generate and upload a client update from recent git commits. Returns shareable URL.' lacks context on when to call this vs client_status, what 'dryRun' does, or what the preview field contains.
Output schemas not documented. Tools return JSON strings with fields like 'ok', 'updateId', 'url', 'scopeCreepFlags', 'replies' but no schema is published. LLMs cannot plan downstream calls or extract fields reliably without knowing the response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No tool annotations despite clear risk levels. client_init and client_send are destructive (WRITE) but lack destructiveHint. client_status, client_list, client_export are read-only but lack readOnlyHint. Agents cannot distinguish safe from unsafe operations.
Error handling lacks recovery guidance. Errors return {'ok': false, 'error': 'Project not initialized'} but do not suggest next steps. Pattern: 'Project not initialized. Call client_init() first with projectName, clientName, clientEmail, hourlyRate.'