TypeScript Model Context Protocol Server
Two tools with complete schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (search_, discover_) which is good. Descriptions are adequate (150-200 chars, within baseline range). However, many optional parameters lack actionable constraints, e.g., 'page' has no min/max bounds, 'sort_by' has no enum of valid values, date parameters lack format validation guidance. No documented output schema structure. Error handling present but generic. No tool annotations (readOnlyHint, idempotentHint) despite both being READ_ONLY operations.
Explore films with advanced filtering options including cast, genres, release dates, and ratings to find exactly what you're looking for
Search for actors, directors, and other film industry professionals with comprehensive biographical information and filmography details
No output schema documented. LLMs cannot predict response structure (fields, types, pagination). Clients must infer from raw API responses.
Numeric parameters (page, vote_average_gte, vote_count_gte, with_runtime_gte/lte) lack min/max bounds. LLMs can pass absurd values (page=999999, vote_average=10000) causing API errors or timeouts.
Enum parameters (sort_by, with_release_type, with_watch_monetization_types) documented as free-form strings with examples in descriptions. Should be declared as enums in schema to prevent hallucinated invalid values.
No tool annotations present. Both tools are READ_ONLY (idempotent, safe to retry) but lack idempotentHint annotation. Agents cannot determine retry safety from tool definition alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error messages are generic ('Failed to search for person: <error>'). Do not guide LLM on recovery steps or categorize errors as retryable vs user-fixable.