{"name":"io.github.gauthierpiarrette/datadiffer","slug":"gauthierpiarrette-datadiffer","title":"datadiffer","description":"Read-only table diffs with segment attribution: which slice of your data changed.","url":"https://mcp.market/server/gauthierpiarrette-datadiffer","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":17,"stars":0,"forks":0,"downloads_week":22,"last_push_at":"2026-07-28T10:57:37.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/gauthierpiarrette/datadiffer","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"datadiffer","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to datadiffer.toml holding named connections (run `datadiffer init` to scaffold one). Credentials never pass through tool arguments.","name":"DATADIFFER_CONFIG"}]}],"tools":[{"name":"diff_summary","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"diff_tables","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_connections","description":"List configured warehouse connections (names only — credentials never pass through tools). Cheap.","write_action":false,"price_micros":0,"input_schema":null},{"name":"schema_diff","description":"Compare two tables' schemas only (columns added/removed/retyped). Metadata-only, always cheap.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-24T21:40:11.746Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T21:40:11.768Z","components":{"code":{"score":25,"max":25,"notes":["22 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 58 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"datadiffer","version":"0.1.0","found":true,"weeklyDownloads":22,"license":"MIT","dependencyCount":12,"publishedAt":"2026-07-27T17:15:33.917482Z","repositoryUrl":"https://github.com/gauthierpiarrette/datadiffer"}],"repo":{"found":true,"owner":"gauthierpiarrette","repo":"datadiffer","archived":false,"pushedAt":"2026-07-28T10:57:37Z","stars":0,"forks":0,"openIssues":8,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/28540426?v=4","ownerCreatedAt":"2017-05-08T17:02:28Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/28540426?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":22,"license":"MIT","lastPushAt":"2026-07-28T10:57:37.000Z","score":17}}}},"grade_history":[],"reviews":[]}