CLI helpers for Zark creative media API and MCP storage tools.
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (list_, import_, get_) which is good. However, descriptions are minimal (10-40 chars), parameter descriptions lack detail on constraints and formats, and output schemas are not documented. No error handling guidance, no pagination support for list_files despite potentially large result sets, and no indication of idempotency or destructiveness in descriptions. The import_file_from_url tool accepts a URL parameter with no validation constraints documented, and filename is optional with no guidance on default behavior.
Get details of a specific file by ID
Import a file from a URL
List files with optional limit and media type filtering
Descriptions are too brief (10-40 chars). Pattern requires 10-1024 chars with WHAT/WHEN/prerequisites. 'List files with optional limit and media type filtering' lacks context on when to use vs other tools, what structure is returned, and whether results are paginated.
Parameter descriptions lack format/constraint details. 'url' has no validation rules (must be HTTP/HTTPS? max length?). 'mediaType' lists options in description ('image, video, audio, or all') instead of using enum constraint. 'filename' has no guidance on default behavior if omitted.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields. What does list_files return? Array of objects with which fields? Does it include pagination metadata? What does import_file_from_url return, file ID, URL, metadata?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
list_files lacks pagination support. No limit cap documented, no offset/cursor parameter, no total count in response. If API returns thousands of files, context window exhaustion and degraded LLM reasoning are likely.
No error handling guidance. If import_file_from_url fails (invalid URL, network error, file too large), what should the LLM do? Retry? Ask user? No recovery hints provided.