MCP.Market

datadiffer MCP server

by gauthierpiarrette·io.github.gauthierpiarrette/datadiffer·v0.1.0

Read-only table diffs with segment attribution: which slice of your data changed.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

0 stars22 downloads/wk

Reviews

Write one

Nobody has reviewed datadiffer yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

datadiffer tools (4)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • diff_summary

    Cheap, counts-only preflight: row counts, key uniqueness, schema-change summary, and whether a full diff fits within caps. Run this before diff_tables on unfamiliar tables.

  • diff_tables

    EXPENSIVE: full semantic diff — may scan both tables end to end. Returns rows added/removed/modified, per-column change rates, segment attribution, and samples. Runs the diff_summary preflight internally and refuses with a remedy if caps would be exceeded.

  • list_connections

    List configured warehouse connections (names only — credentials never pass through tools). Cheap.

  • schema_diff

    Compare two tables' schemas only (columns added/removed/retyped). Metadata-only, always cheap.

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan22 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 58 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How datadiffer compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
88/100
higher than 75% of 48,255 servers
Tools
4
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
22
more than 8% of 12,191 servers with a package

What its tools let an agent do: 4 read

Install datadiffer in Claude Code, Cursor or VS Code

claude mcp add datadiffer -- uvx datadiffer
Add to Cursor

What the publisher says

From the datadiffer repository's README, as published. We do not edit it. Read it on GitHub

<!-- mcp-name: io.github.gauthierpiarrette/datadiffer -->

datadiffer

Diff two tables. See what changed, and which slice of your data it's concentrated in.

98.6% of modified rows have country = 'DE' (8.87x over-represented)

datadiffer compares two tables (dev vs. prod, PR vs. main, source vs. destination) and tells you what changed and where it's concentrated: rows added / removed / modified, per-column change rates, and segment attribution.

Built for the era when agents write your pipelines and someone has to check their work. A maintained, MIT-licensed successor to the archived data-diff.

Try it in 60 seconds

No credentials, no config, no account. It generates its own data:

uvx datadiffer demo
datadiffer-demo/orders_prod.parquet vs datadiffer-demo/orders_dev.parquet
key: order_id (inferred from *_id naming)
rows: +800 added  -250 removed  ~432 modified  49318 unchanged
┏━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃column ┃ changed rows ┃ % of matched┃
┡━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│amount │          432 │        0.87%│
└───────┴──────────────┴─────────────┘
-> 98.6% of modified rows have country = 'DE' (8.87x over-represented)
   93.2% of added rows have plan = NULL (63.19x over-represented)
sample changes:
  [order_id=0]  amount: 5.0 -> 7.1
  [order_id=1]  amount: 6.37 -> 6.38
  [order_id=117]  amount: 32.4 -> 34.5
  [order_id=234]  amount: 59.8 -> 61.9
  [order_id=351]  amount: 87.2 -> 89.3
DIFF FOUND

That last block is the point. A diff tells you 432 rows changed; datadiffer tells you they're almost all German orders, which is the difference between "something moved" and "the VAT change landed."

Install

pip install datadiffer                      # local files: Parquet, CSV, DuckDB
pip install 'datadiffer[snowflake]'         # + Snowflake
pip install 'datadiffer[postgres]'          # + Postgres
pip install 'datadiffer[mcp]'               # + MCP server for AI agents

Use it

# local files
datadiffer diff prod.parquet dev.parquet

# DuckDB
datadiffer diff prod.duckdb:orders dev.duckdb:orders

# Postgres (attached read-only)
datadiffer diff orders orders_v2 --source "postgresql://user@host:5432/db"

# Snowflake, or anything in datadiffer.toml (run `datadiffer init` first)
datadiffer diff wh::analytics.orders wh::analytics_dev.orders

# cross-source: warehouse vs. a local file
datadiffer diff wh::orders orders_snapshot.parquet

# machine-readable, for scripts and CI
datadiffer diff a.parquet b.parquet --format json

Exit codes follow the GNU diff convention: 0 no differences, 1 differences found, 2 operational error.

Useful flags: --key (inferred when omitted), --where, --columns / --exclude-columns, --sample-limit, --no-attribution, -q.

In your pull requests

datadiffer-action posts the report as a sticky PR comment:

### datadiffer: ANALYTICS.ORDERS vs ANALYTICSPR482.ORDERS: differences found ❌

+800 added · −250 removed · ~432 modified · 49,318 unchanged (2.96% of base rows affected)

Policy: max-changed-rows-pct exceeded: 2.96% > 0.5%

| Column | Changed rows | % of matched |

|---|---:|---:|

| amount | 432 | 0.87% |

> Where it's concentrated: 98.6% of modified rows have country = 'DE' (8.87× over-represented)

> 93.2% of added rows have plan = NULL (63.19× over-represented)

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

datadiffer: common questions

Is datadiffer MCP server safe?
Yes, by our scan: it is graded A (88/100). Read the datadiffer safety report
How do I install datadiffer?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does datadiffer need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is datadiffer maintained?
The last commit was 99 days ago (2026-07-28). The latest release is v0.1.0.
How does datadiffer compare with other MCP servers?
safety score 88/100 (higher than 75% of 48,255 servers); tools 4 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.