Official server.json
{
"name": "io.github.aidatatools-dev/data-quality-gate",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"docs": {
"full": "https://www.aidatatools.dev/llms-full.txt",
"openapi": "https://www.aidatatools.dev/openapi.json",
"summary": "https://www.aidatatools.dev/llms.txt",
"boundary": "https://www.aidatatools.dev/api/clean"
},
"tags": [
"data cleaning",
"scraping repair",
"post-scrape sanitization",
"deterministic data repair",
"mojibake correction",
"encoding repair",
"scraper output cleaning",
"auditable data repair"
],
"tools": {
"clean_scraped_data": "Free to call, but it does NOT return the repaired data -- its response has no 'data' key. It reports which rules would fire on your data and what needs your decision, then names the paid call that hands the data back: POST https://www.aidatatools.dev/api/clean, $0.04 via x402, no account or signup. Call it after every extraction run -- a verdict is cached per source, but dirt is produced fresh by every run.",
"check_dataset_quality": "FREE here. The full quality verdict: score, per-check facts, and RELIABLE / USABLE_WITH_CLEANING / UNRELIABLE. Bought once per source, then cached.",
"clean_scraped_data_audited": "Same, pointing at POST https://www.aidatatools.dev/api/clean/audit, $0.12: the repaired data plus a replayable, reversible ledger of every transformation."
},
"boundary": "20 rules, published in full and free at GET https://www.aidatatools.dev/api/clean -- readable before paying. 7 are applied automatically (information-preserving), 5 need an explicit opt-in (they change row count, type or schema), and 8 are only ever reported, with no option to turn them on: near-duplicates are never merged, ambiguous placeholders are never nulled ('None' is a surname, 'NA' is Namibia), full NFKC is never applied (it rewrites 10^2 to 102), and failed extractions ('captcha', 'access denied') are never deleted -- that value is what tells you the record must be re-scraped. Impossible values are never repaired at all.",
"measured": "Real 100-row Amazon scrape, 57,956 nested string values: 453 repairs, 0 reverts, 0 values emptied. A control set of legitimate-but-suspicious data (French accents, Persian ZWNJ, emoji ZWJ, 10^2, AT&T, surname 'None', 'NA') comes back byte-for-byte identical: 0 changes, 11 flags.",
"guarantees": "Deterministic and idempotent. No value is emptied, retyped or reordered by an automatic rule. A repair that would introduce a defect the original did not have is reverted and flagged. The audited tier's ledger restores the input byte for byte.",
"positioning": "Deterministic post-scrape data cleaner and quality gate. Repairs how data was ENCODED -- residual HTML, mojibake ('Café' -> 'Café'), invisible characters, non-breaking spaces -- and never what it SAYS. No LLM: identical input always yields byte-identical output, so results can be cached, replayed and audited.",
"why_repair_is_paid": "Detection is free on this endpoint and always has been. The repaired artifact is the paid product, because it is re-bought on every extraction run rather than cached like a verdict. Both cleaning tools say so in their own descriptions, before they are called."
}
},
"title": "Data Quality Gate - deterministic post-scrape cleaner + verdict",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://www.aidatatools.dev/api/mcp_server",
"type": "streamable-http"
}
],
"version": "0.3.0",
"websiteUrl": "https://www.aidatatools.dev/llms.txt",
"description": "Post-scrape data cleaner, no LLM: repairs mojibake, HTML, invisible chars. Plus a verdict."
}