QuartzUnit/diffgrab
Web page change tracking + structured diffs — markgrab + snapgrab integration, MCP native
Platform-specific configuration:
{
"mcpServers": {
"diffgrab": {
"command": "npx",
"args": [
"-y",
"diffgrab"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://pypi.org/project/diffgrab/) [](https://pypi.org/project/diffgrab/) [](https://github.com/QuartzUnit/diffgrab/blob/main/LICENSE)
> 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()diffgrab track, check, diff, history, untrackpip install diffgrabOptional extras:
pip install 'diffgrab[cli]' # CLI with click + rich
pip install 'diffgrab[visual]' # Visual diff with snapgrab
pip install 'diffgrab[mcp]' # MCP server with fastmcp
pip install 'diffgrab[all]' # Everythingimport asyncio
from diffgrab import DiffTracker
async def main():
tracker = DiffTracker()
# Track a URL (takes initial snapshot)
await tracker.track("https://example.com"Loading reviews...