Stdio MCP server for managing recommended.by lists from agents like OpenClaw, Codex, Claude, and Cursor.
Strong schema definitions with proper enums and required fields. All 11 tools have clear descriptions (avg 95 chars) and well-structured input schemas. Naming follows verb_noun pattern consistently (recommended_*). However, output schemas are undocumented, LLMs cannot predict response structure. Error handling guidance is absent. Parameter descriptions are adequate but lack format constraints (e.g., 'listId' has no guidance on format or length). Missing idempotency hints for destructive operations.
Add an item to a list. Missing URL or image can be auto-enriched from the list category.
Add an item from a previously returned recommended_search_items candidate. This avoids first-result auto-selection.
Create a recommendation list for the API key profile.
Delete an item from an owned list.
Delete an owned list.
Fetch one owned list by id.
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, pagination). Tools return textResult() but no schema is declared for what fields the response contains.
No error handling guidance. Tools provide no recovery hints (e.g., 'listId not found, try recommended_list_lists() first'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
List items in an owned list.
List all lists owned by the API key profile, including items.
Search source candidates before adding an item. Use this for ambiguous books, places, podcasts, music, movies, and TV. For places, show confirmationUrl and previewImageUrl to the user before adding.
Update an item in an owned list.
Update list metadata, visibility, pricing, or publish state.
Destructive operations (delete_list, delete_item) lack confirmation or dry-run support. Agents can permanently delete without safeguards.
Parameter descriptions lack format constraints. 'listId' and 'itemId' have no guidance on format, length, or character restrictions. LLMs may pass invalid values.
No pagination support documented. recommended_list_lists and recommended_list_items may return unbounded results, risking context window exhaustion.