Skip to main content
Glama
si-essence

changedetection-mcp

by si-essence

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP listen port.3000
MCP_TRANSPORTNoTransport mode: stdio or http. --http forces HTTP.stdio
CHANGEDETECTION_URLNoInstance origin. No userinfo, query, or hash. A trailing /api/v1 suffix is stripped.https://example.invalid
CHANGEDETECTION_API_KEYYesAPI key sent as x-api-key. Required for an upstream call. At least 8 characters. Never printed.
CHANGEDETECTION_CONTACTNoContact inside the User-Agent. Must not contain the API key.contact@example.com
CHANGEDETECTION_PER_MINUTENoLocal sliding-window cap.30
CHANGEDETECTION_TIMEOUT_MSNoUpstream timeout in milliseconds.20000
CHANGEDETECTION_ALLOW_WRITESNoThe literal true enables writes. Any other value keeps writes as a blocked preview.off
CHANGEDETECTION_CACHE_TTL_SECNoTTL for successful reads. 0 disables the cache.60

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
changedetection_list_watchesA

List watches. GET /api/v1/watch. Optional tag name filter. Recheck-all is a separate write tool.

changedetection_get_watchA

Get one watch by UUID. GET /api/v1/watch/{uuid}. Returns the full watch JSON including restock and LLM fields when present. Nested history maps become timestamp lists. Server filesystem paths are discarded.

changedetection_create_watchA

Create a watch. POST /api/v1/watch. Requires url. Supports processor restock_diff, price fields, and llm_intent / llm_change_summary. Omit confirm for a dry-run.

changedetection_update_watchB

Update a watch. PUT /api/v1/watch/{uuid}. Same writable fields as create, plus last_viewed. Omit confirm for a dry-run.

changedetection_delete_watchA

Delete a watch and all of its history. DELETE /api/v1/watch/{uuid}. Omit confirm for a dry-run.

changedetection_recheck_watchA

Queue a recheck for one watch. GET /api/v1/watch/{uuid}?recheck=1. Omit confirm for a dry-run.

changedetection_recheck_allA

Queue a recheck for every watch, optionally limited by tag name. GET /api/v1/watch?recheck_all=1. Omit confirm for a dry-run.

changedetection_set_watch_stateB

Set paused or muted on a watch. GET /api/v1/watch/{uuid} with paused and muted query flags. Omit confirm for a dry-run.

changedetection_list_historyA

List snapshot timestamps for a watch. GET /api/v1/watch/{uuid}/history. Returns uuid, count, and snapshots with timestamp and iso_time. Server filesystem paths are discarded.

changedetection_get_snapshotB

Fetch one snapshot. GET /api/v1/watch/{uuid}/history/{timestamp}. timestamp may be a unix time or latest. html true requests HTML.

changedetection_get_diffB

Diff two snapshots. GET /api/v1/watch/{uuid}/difference/{from}/{to}. from_timestamp may be previous, to_timestamp may be latest. format is text, html, or htmlcolor.

changedetection_delete_historyA

Delete every snapshot for a watch. DELETE /api/v1/watch/{uuid}/history. The watch remains. Omit confirm for a dry-run.

changedetection_get_faviconA

Get the favicon for a watch. GET /api/v1/watch/{uuid}/favicon. Small binaries return base64. Large files return size only.

changedetection_list_tagsA

List tags. GET /api/v1/tags.

changedetection_get_tagB

Get one tag by UUID. GET /api/v1/tag/{uuid}. Includes WatchBase fields plus overrides_watch and LLM controls.

changedetection_create_tagB

Create a tag. POST /api/v1/tag. Requires title. Omit confirm for a dry-run.

changedetection_update_tagB

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

changedetection_delete_tagA

Delete a tag and remove it from every watch. DELETE /api/v1/tag/{uuid}. Omit confirm for a dry-run.

changedetection_recheck_tagA

Queue a recheck for every watch in a tag. GET /api/v1/tag/{uuid}?recheck=1. Omit confirm for a dry-run.

changedetection_set_tag_mutedA

Set muted or unmuted on a tag. GET /api/v1/tag/{uuid}?muted=. Omit confirm for a dry-run.

changedetection_list_notificationsA

List global notification URLs. GET /api/v1/notifications. Tokens in URLs are redacted.

changedetection_add_notificationsA

Add global notification URLs. POST /api/v1/notifications. Omit confirm for a dry-run. Tokens are redacted in the preview.

changedetection_replace_notificationsA

Replace every global notification URL. PUT /api/v1/notifications. An empty list clears them. Omit confirm for a dry-run.

changedetection_delete_notificationsA

Delete matching global notification URLs. DELETE /api/v1/notifications with a JSON body. Omit confirm for a dry-run.

changedetection_searchB

Search watches by URL or title. GET /api/v1/search?q= with optional tag and partial.

changedetection_import_watchesA

Import line-separated URLs as watches. POST /api/v1/import as text/plain. Query can set tag, processor, and other watch fields. Omit confirm for a dry-run.

changedetection_systeminfoA

Get instance status. GET /api/v1/systeminfo. Returns version, watch count, uptime, and queue fields when present.

changedetection_full_specA

Get the live merged OpenAPI document for this instance. GET /api/v1/full-spec. Returns YAML text.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 28 tools

Disambiguation4/5

Most tools target clear resource/action combinations, so an agent can usually select correctly. Minor overlap exists between recheck_tag and recheck_all with a tag filter, and dedicated state/mute tools vs general update tools.

Naming Consistency4/5

All tools use the changedetection_ prefix and snake_case, with a mostly predictable verb_noun pattern. A few exceptions like systeminfo and full_spec are noun-oriented rather than verb_noun.

Tool Count3/5

The broad Changedetection API surface justifies many of the 28 tools, and most map to distinct operations. However, 28 is heavy for an MCP tool set, and some convenience variants could be consolidated.

Completeness5/5

The set covers the core domain well: watch CRUD, tag CRUD, notification management, history/snapshots/diffs, rechecks, search, import, and system inspection. No obvious lifecycle gaps stand out.

Maintenance

ActivityMaintained
ResponsivenessNo issues