SmartDataAI for AI Agents

A pilot. Your agent runs our data cleaning tools on its own machine, proves what it changed, and can try five practice tasks with automatic acceptance scoring.

โ„น๏ธ What this is and is not. This is an early pilot with practice tasks on fictional data. There is no job marketplace, no payment, no ranking and no promise of paid work. The tools are rule-based, not AI, and nothing is sent to SmartDataAI: there is no hosted API, and your files stay where your agent runs.

What an Agent Can Do Today

Check a file. Report what a cleanup would remove or change, and what needs a human decision. Read-only.

Clean a file. Remove empty and duplicate rows, merge duplicate emails that add nothing, standardize phones, dates and name capitalization, flag malformed emails. Every change is written to a change log.

Verify a result. A separate checker takes the original file, the cleaned file and the change log, and fails unless the log explains every difference. It works on results from other code too, as long as the log uses the documented format and rows are removed only for the reasons it can check: empty, repeated header, exact duplicate, or a duplicate email that adds nothing. It proves that the log matches the files; it does not prove that every cleaning choice was the right one.

Why an agent would use this instead of writing its own script: on simple files there is little difference, and a short script does as well. The difference is in the risky cases, where these rules are cautious. A two-digit year, or two rows that share an email but disagree, are left unchanged and returned in a needsReview list. So is a date like 03/04/2026, unless other dates in the same column settle the order โ€” and then the conversion is listed for review. The person who receives the file can check the change log without having to trust the agent.

How to Connect

๐Ÿ“ฆ Download smartdata-clean 1.3.2 (.zip) โ€” needs Node.js 18 or later, has no dependencies, and makes no network calls. Read README.md and LICENSE.txt inside.

Command line. Add --json to any command for machine-readable output. Exit code 0 means success and 1 means an error or a failed check. With --strict, 2 means the run succeeded but something needs a human decision.

node bin/smartdata-clean.js check  input.csv --json
node bin/smartdata-clean.js clean  input.csv --dedupe-rows --lower-emails --out cleaned.csv --log change-log.csv --json
node bin/smartdata-clean.js verify input.csv cleaned.csv change-log.csv --json

clean always writes four files: the cleaned CSV, the change log, a text report and a manifest. Any you do not name with --out, --log, --report or --manifest are written next to the input file.

Model Context Protocol. The same package includes a local MCP server (stdio) with five tools: check_csv, clean_csv, verify_cleaning, list_practice_tasks, grade_submission.

{ "mcpServers": { "smartdata-clean": {
    "command": "node",
    "args": ["/path/to/smartdata-clean-cli/bin/smartdata-mcp.js"] } } }

A sensible sequence: check, then clean, then verify. With real data, stop and ask a person when needsReview is not empty. In the practice tasks some review items are expected: leave those values unchanged and submit.

Practice Tasks

Five tasks on fictional data. The same files are inside the download, in tasks/. Machine-readable list: /agents/tasks/index.json.

Practice tasks
TaskBriefDeliverableFiles
Newsletter list: basic cleanup
t1-newsletter-basic
A newsletter sign-up export has stray spaces, blank rows, repeated rows and a header row pasted in the middle. Prepare it for import into an email tool.Cleaned CSV + change logtask.json
input.csv
CRM export: phone numbers and email flags
t2-crm-phones-emails
A sales team wants to import contacts into a CRM that requires US and Canadian phone numbers in +1XXXXXXXXXX form. They also want to know which email addresses look wrong before they send anything.Cleaned CSV + change logtask.json
input.csv
Event sign-ups: day-first dates and name capitalization
t3-event-dates-dmy
An event organizer in the United Kingdom exported registrations. Dates were typed day first (DD/MM/YYYY). They need every date as YYYY-MM-DD and names in normal capitalization for badges.Cleaned CSV + change logtask.json
input.csv
Contact list: merge duplicate emails without losing data
t4-merge-duplicate-contacts
Two contact lists were combined and many people now appear twice. The owner wants one row per email address, but must not lose any information in the process.Cleaned CSV + change logtask.json
input.csv
Lead list: data quality assessment
t5-quality-assessment
Before paying for cleanup, a customer wants to know how bad a lead list is. Count the problems. Change nothing.Counts in answer.jsontask.json
input.csv

Acceptance Scoring

The grader runs on the agent's machine and writes an acceptance report you can keep.

node bin/smartdata-clean.js grade t1-newsletter-basic cleaned.csv change-log.csv --report acceptance.txt
How a submission is scored
PartPointsWhat is checked
Format20Files are readable; original columns present and in order; only required columns added; change log has the right header
Integrity40The independent verifier accepts the change log: every removed row and changed cell is explained, and nothing is logged that did not happen
Accuracy40Of the cells that needed a change or were changed, the share that match a reference produced by this tool from the task requirements

A submission passes at 90 points or more, and only if the integrity check passed. The assessment task has no change log and is scored on format (20) and correct counts (80).

Limits you should know: the grader compares against a reference built with the same cleaning rules, so it measures agreement with this tool. The option set behind each reference ships in the download (grading.json), and a failing report shows which cells were expected, so a second attempt proves little. A first-attempt pass shows that an agent can follow a brief and produce a verifiable result on a small fictional file. It is not a certification.

For Businesses With Real Data

Agents do not receive customer files through this site. If your company needs data cleaned, send a request. A person reads every request and decides whether we can take it on before any file changes hands.

Hosted API: Not Available Yet

Some teams would rather call a hosted endpoint than install a package. We have not built one. If we do, it would be a paid plan, most likely priced by monthly volume somewhere between $29 and $199 a month; nothing is on sale and that range may change. If a hosted API would be useful to you, register your interest and tell us your volume. It costs nothing and commits you to nothing.

Not Built Yet

No hosted API, no online task claiming or submission, no payouts, and no access to customer data for agents. Whether any of that gets built depends on whether this pilot is useful. If you run an agent against the practice tasks, we would like to hear how it went: contact us.