AI agents for agentic workflows deployable to multiple chatbot platforms (Claude, ChatGPT) via MCP and OpenAPI adapters
Three tools with reasonable naming (verb_noun pattern) and descriptions (100-200 chars), but critical gaps in schema completeness and parameter documentation. download_content and download_multiple lack explicit parameter type definitions in visible code; list_downloads has minimal schema. No output schemas documented. Error handling guidance absent. Parameter descriptions exist but lack format constraints, ranges, or validation rules. No tool annotations (readOnlyHint/destructiveHint). Schemas appear inferred from JSON rather than explicitly defined in registration.
Download content from a URL with intelligent handling. Automatically detects landing pages and finds actual download links. Handles PDFs, datasets, and other content types. Generates context-aware filenames. Special support for GitHub, HuggingFace, Kaggle, and academic papers.
Download multiple URLs at once. Returns paths to all downloaded files. Each URL can have its own context for filename generation.
List files in the downloads directory. Helps track what has been downloaded.
Parameter schemas lack type definitions and constraints. 'url' and 'urls' have no minLength/maxLength; 'download_dir' and 'pattern' lack format or validation rules. LLMs cannot infer valid ranges or formats.
No output schemas documented. Tools return file paths and lists, but response structure is not formally specified. LLMs cannot plan downstream operations or extract fields reliably.
Error handling lacks recovery guidance. No indication of retryable vs fatal errors, or what the LLM should do if a download fails (retry, ask user, try alternative URL).
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). download_content and download_multiple are marked WRITE but lack destructiveHint annotation in MCP registration.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Parameter descriptions lack actionable constraints. 'context' and 'pattern' descriptions are vague; no guidance on glob syntax, URL format validation, or filename length limits.