quartzunit avatar

Diffgrab

quartzunit/diffgrab

This server wraps a Python change tracker that periodically snapshots web pages and computes structured diffs when content shifts. It exposes five MCP tools: track_url to register a page, check_changes to poll everything you're watching, get_diff to see unified diffs with section-level analysis (which headings changed), get_history to browse past snapshots, and untrack_url to stop monitoring. Under the hood it leans on markgrab for HTML extraction and snapgrab for optional screenshot comparison, storing everything in SQLite. You get line counts, changed sections, and human readable summaries like "3 lines added in Introduction." Reach for it when you need Claude to monitor documentation, competitor pages, or any URL where you care about what shifted between visits, not just that something changed.

tools
5
transport
STDIO
last updated
Mar 18, 2026

Tools

5 tools

Public tool metadata for what this MCP can expose to an agent.

track_urlRegister a URL for change tracking

Register a URL for change tracking

No parameter schema in public metadata yet.

check_changesCheck tracked URLs for changes

Check tracked URLs for changes

No parameter schema in public metadata yet.

get_diffGet structured diff between snapshots

Get structured diff between snapshots

No parameter schema in public metadata yet.

get_historyBrowse snapshot history

Browse snapshot history

No parameter schema in public metadata yet.

untrack_urlStop tracking a URL

Stop tracking a URL

No parameter schema in public metadata yet.

Sponsors

Readme

diffgrab

PyPI Python License

한국어 문서 · llms.txt

Web page change tracking with structured diffs. markgrab + snapgrab integration, MCP native.

from diffgrab import DiffTracker

tracker = DiffTracker()
await tracker.track("https://example.com")
changes = await tracker.check()
for c in changes:
    if c.changed:
        print(c.summary)     # "3 lines added, 1 lines removed in sections: Introduction."
        print(c.unified_diff) # Standard unified diff output
await tracker.close()

Features


View the full README on GitHub

Details

Repository
github.com/quartzunit/diffgrab
Package
diffgrab
Transport
STDIO
Registry
MCP registry, active

More from quartzunit