Skip to main content
Glama
si-essence

changedetection-mcp

by si-essence

changedetection_update_tag

Idempotent

Update an existing tag's name, color, or associated watches by UUID; omit confirm to preview changes as a dry run before applying.

Instructions

Update a tag. PUT /api/v1/tag/{uuid}. Omit confirm for a dry-run.

Input Schema

NameRequiredDescriptionDefault
tagNoDeprecated. Comma-separated tag names, matched case-insensitively and created when missing.
bodyNo
tagsNoTag UUIDs. Unknown UUIDs are stored but resolve to no group.
uuidYesTag UUID.
proxyNo
titleNo
methodNo
pausedNo
confirmNoSet to the boolean true to execute the write. Omit this field for a dry-run preview. false and the string true are rejected.
headersNoHTTP headers for the fetch. Authorization and cookie values are redacted in output.
processorNotext_json_diff is the default. restock_diff tracks stock and price.
conditionsNo
llm_intentNoPlain-English intent for AI change filtering.
tag_colourNo
ignore_textNo
extract_textNo
link_to_openNoHuman-facing URL to open instead of url. Empty string means use url.
trigger_textNo
browser_stepsNo
fetch_backendNoFetcher. Common values: system, html_requests, html_webdriver.
in_stock_onlyNorestock_diff: only notify on in-stock transitions.
include_filtersNo
overrides_watchNo
webdriver_delayNo
filter_text_addedNo
notification_bodyNo
notification_urlsNoApprise notification URLs for this watch. Tokens in URLs are redacted in output.
url_match_patternNo
check_unique_linesNo
llm_change_summaryNoInstructions for the AI to summarise changes in notifications.
notification_mutedNo
notification_titleNo
time_between_checkNo
filter_text_removedNo
ignore_status_codesNo
llm_backend_profileNoWatch: boolean on/off. Tag: true/false/null ternary AI control.
notification_formatNo
strip_ignored_linesNo
time_schedule_limitNo
filter_text_replacedNo
follow_price_changesNorestock_diff: track price changes.
trim_text_whitespaceNo
subtractive_selectorsNo
conditions_match_logicNo
remove_duplicate_linesNo
use_page_title_in_listNo
llm_change_summary_modeNo
notification_screenshotNo
track_ldjson_price_dataNo
extract_lines_containingNo
sort_text_alphabeticallyNo
webdriver_js_execute_codeNo
text_should_not_be_presentNo
history_snapshot_max_lengthNo
price_change_threshold_percentNo
time_between_check_use_defaultNo
filter_failure_notification_sendNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description reinforces the dry-run/confirm behavior, but it does not specify whether omitted fields are left unchanged or cleared — critical for a PUT-style mutation — and adds little beyond what the confirm parameter's own schema text already says.

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

Conciseness4/5

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

Three short sentences, front-loaded with the action, and nothing is padded. The literal HTTP route is arguably an implementation detail rather than agent-facing information, but it costs only a few words.

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

Completeness2/5

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

For a mutation tool exposing 57 parameters, nested objects, and no output schema, this description is far too thin; it never explains partial-update semantics, the deprecated `tag` field versus `tags`, or what the dry-run returns. The annotations cover the safety hint but cannot carry the semantic load here.

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

Parameters2/5

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

With 57 parameters and only 25% schema description coverage, the description contributes essentially zero parameter semantics beyond the {uuid} path placeholder already marked required in the schema. The many watch-like fields (browser_steps, processor, notification_urls) are left entirely for the agent to infer.

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

Purpose4/5

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

States a specific verb and resource ("Update a tag") and includes the REST route, so an agent can distinguish it from create_tag, delete_tag, and get_tag without opening the schema. It stops short of explicitly naming those siblings or clarifying what aspects of a tag this modifies.

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?

"Omit confirm for a dry-run" gives usable invocation guidance for the safety-critical flag, which is more than nothing. However, there is no guidance on when to prefer this over set_tag_muted or update_watch, nor any statement about prerequisites such as the tag existing.

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