
Diffgrab
io.github.ArkNillPublished by GitHub account ArkNillv0.1.0Updated Oct 24, 2026
Web page change tracking with structured diffs. markgrab + snapgrab integration.
Overview
Tracks web pages for content changes and returns structured diffs, section-level analysis, and snapshot history.
- What you can do
- Diffgrab registers URLs for change tracking, fetches and stores baseline snapshots, then detects changes by content hashing. It produces unified diffs, section-level analysis of which headings changed, and human-readable summaries such as line counts added or removed. Five MCP tools cover tracking a URL, checking changes, getting a diff between snapshots, browsing snapshot history, and stopping tracking. Snapshots are kept in a local SQLite database.
- When to use it
- Use it when an assistant needs to monitor pages for updates, summarize what changed on a page since a previous visit, or compare two versions of the same URL. It suits documentation, news, or policy pages where changes matter and a plain fetch would not show what moved.
- Requirements
- Runs locally as a Python package installed from PyPI (pip install diffgrab, with optional extras for CLI, visual diff, and MCP). The MCP server is started via the diffgrab-mcp command or uvx. It needs network access to fetch tracked URLs and writes snapshots to a local SQLite file, by default under the user's data directory. No accounts, API keys, or environment variables are declared.
Installation
In SourceWeft
- Open Diffgrab in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
diffgrab
Web page change tracking with structured diffs. markgrab + snapgrab integration, MCP native.
Features
- Change detection — track any URL, detect content changes via content hashing
- Structured diffs — unified diff + section-level analysis (which headings changed)
- Human-readable summaries — "5 lines added, 2 removed in sections: Intro, Methods"
- Snapshot history — SQLite storage, browse past versions of any page
- markgrab powered — HTML/YouTube/PDF/DOCX extraction via markgrab
- Visual diff — optional screenshot comparison via snapgrab
- MCP server — 5 tools for Claude Code / MCP clients
- CLI included —
diffgrab track,check,diff,history,untrack
How It Works
Install
Optional extras:
Usage
Python API
Convenience Functions
CLI
MCP Server
Add to your Claude Code MCP config:
Or with uvx:
MCP Tools:
DiffResult
Every diff operation returns a DiffResult:
Storage
Snapshots are stored in SQLite at ~/.local/share/diffgrab/diffgrab.db (auto-created). Custom path:
QuartzUnit Ecosystem
Used in
- newswatch — RSS news monitoring pipeline (feedkit → markgrab → embgrep → diffgrab)
- watchdeck — Web page monitoring with visual diffs and safety guards
License
Part of the QuartzUnit ecosystem — composable Python libraries for data collection, extraction, search, and AI agent safety.
Source: README.md at commit eb46df9
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts