Diffgrab MCP server
Web page change tracking with structured diffs. markgrab + snapgrab integration.
0 stars25 downloads/wk
Reviews
Write oneNobody has reviewed Diffgrab yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Diffgrab tools (5, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
check_changesCheck tracked URLs for changes. Compares current content with last snapshot.
get_diffGet structured diff between two snapshots of a URL.
get_historyGet snapshot history for a tracked URL.
track_urlRegister a URL for change tracking. Takes an initial snapshot.
untrack_urlwrite actionRemove a URL from change tracking. Deletes all stored snapshots.
Public scan report
scanner v0.1.10 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 166 days ago8/15
- Maintainer identitynamespace and repository owner differ4/10
How Diffgrab compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 75/100
- higher than 45% of 48,255 servers
- Tools
- 5
- the typical server has 7
- Tools that change things
- 20%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 25
- more than 11% of 12,191 servers with a package
What its tools let an agent do: 4 read · 1 change
Install Diffgrab in Claude Code, Cursor or VS Code
claude mcp add diffgrab -- uvx diffgrab
What the publisher says
From the Diffgrab repository's README, as published. We do not edit it. Read it on GitHub
diffgrab
한국어 문서 · 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
- 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
flowchart TD
A["diffgrab track URL"] --> B["Fetch initial snapshot\n(markgrab + snapgrab)"]
B --> C["Store baseline"]
C --> D["diffgrab check"]
D --> E["Fetch current page"]
E --> F{"Content\nhash match?"}
F -->|"changed"| G["Compute structured diff\n+ section analysis"]
F -->|"unchanged"| H["No changes"]
G --> I["📊 DiffResult\nadded / removed / modified"]Install
pip 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]' # EverythingUsage
Python API
import asyncio
from diffgrab import DiffTracker
async def main():
tracker = DiffTracker()
# Track a URL (takes initial snapshot)
await tracker.track("https://example.com", interval_hours=12)
# Check for changes
changes = await tracker.check()
for change in changes:
if change.changed:
print(change.summary)
print(change.unified_diff)
# Get diff between specific snapshots
result = await tracker.diff("https://example.com", before_id=1, after_id=2)
# Browse snapshot history
history = await tracker.history("https://example.com", count=20)
# Stop tracking
await tracker.untrack("https://example.com")
await tracker.close()
asyncio.run(main())Convenience Functions
from diffgrab import track, check, diff, history, untrack
await track("https://example.com")
changes = await check()
result = await diff("https://example.com")
snaps = await history("https://example.com")
await untrack("https://example.com")CLI
# Track a URL
diffgrab track https://example.com --interval 12
# Check all tracked URLs for changes
diffgrab check
# Check a specific URL
diffgrab check https://example.com
# Show diff between snapshots
diffgrab diff https://example.com
diffgrab diff https://example.com --before 1 --after 3
# View snapshot history
diffgrab history https://example.com --count 20
# Stop tracking
diffgrab untrack https://example.comMCP Server
Add to your Claude Code MCP config:
{
"mcpServers": {
"diffgrab": {
"command": "diffgrab-mcp",
"args": []
}
}
}Or with uvx:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Diffgrab: common questions
- Is Diffgrab MCP server safe?
- Mostly: it is graded B (75/100). Read the Diffgrab safety report
- How do I install Diffgrab?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Diffgrab need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Diffgrab maintained?
- The last commit was 203 days ago (2026-04-15). The latest release is v0.1.0.
- What can I use instead of Diffgrab?
- Servers from other publishers that do the same job: Front-End Checklist MCP server.
- How does Diffgrab compare with other MCP servers?
- safety score 75/100 (higher than 45% of 48,255 servers); tools 5 (the typical server has 7); tools that change things 20% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Diffgrab
Same job from other publishers: the closest match first, then the best rated.
- Front-End ChecklistReview frontend code and live pages against 386 quality-gated web development rules.not reviewedWidely usedA