Skip to main content
Glama
wiktorekdev

nuvio-mcp

by wiktorekdev

Add to watch history

nuvio_add_to_watch_history

Add watched items to a profile's watch history, upserting by content, season, and episode to prevent duplicates. Supports dry-run and snapshots for easy undo.

Instructions

Idempotently add watched items to a profile's history (upsert by content_id + season + episode). A repeated identical call does not create a duplicate. Supports dry_run and snapshots the previous state before the write; revert with nuvio_undo.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
dry_runNoReturn the diff without writing anything (no snapshot, no audit entry).
profile_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.1

TDQS

B3.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly claims the tool is 'Idempotently' adding items and states that a repeated call does not create a duplicate, but the annotation idempotentHint is false. This is a direct contradiction between the description and the structured metadata, which is a serious inconsistency. Per instructions, any contradiction with annotations warrants a score of 1, regardless of other disclosed behaviors like dry_run and snapshots.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with the core action ('Idempotently add watched items') in the first sentence. It covers key behaviors (idempotency, upsert key, dry_run, snapshot, undo) without redundancy. Every sentence adds value, and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential behavioral aspects: idempotency, upsert key, dry_run, snapshot, and undo capability. Given there is no output schema, it omits specifics about the return value or error conditions, but these are not critical for a write operation with undo support. The main gap is the contradiction with the idempotentHint annotation, which could mislead an agent, but that is already accounted for in behavioral transparency. Overall, it is fairly complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (33%) with only dry_run documented. The description adds useful context by identifying the upsert key fields (content_id, season, episode) for the items array, which clarifies the purpose of some parameters. However, it does not explain profile_id or elaborate on the structure of items beyond the key fields, so it only partially compensates for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Idempotently add watched items to a profile's history' with a specific verb (add) and resource (watch history). It also specifies the upsert key (content_id + season + episode), which differentiates it from sibling tools like nuvio_mark_watched or nuvio_get_watch_history. This is unambiguous and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context for when to use the tool (adding watched items) and mentions supporting dry_run and undo, but it does not explicitly compare to alternatives like nuvio_mark_watched or nuvio_set_watch_progress. The usage is implied rather than clearly delineated, leaving the agent to infer when this tool is preferred over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools