Import Check: Validate & Clean CSV
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Validate and prepare CSV; reconcile two tables with exact keys and full findings. Fixed free demos.
| Author | io.github.LeBorgneAntoine |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2608 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Import Check: Validate & Clean CSV": {
"url": "https://check.orvel.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
get_csv_exampleread-onlyReturn a fixed synthetic CSV and its column schema. Free, no key or quota. Copy the structure, then supply your own CSV to validate_csv.
Hints: read-only yes · destructive no · idempotent yes · open-world no
view_csv_demoread-onlyValidate the fixed example with the current engine. Free and no arguments; demonstrates duplicate, email, amount and date findings. Custom files require validate_csv and paid access.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_csv_usageread-onlyRead remaining operations and expiry for the API key supplied in the Authorization header. Does not consume credit.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_table_exampleread-onlyReturn fixed synthetic left/right tables and a reusable join recipe. No arguments, key or credit. Copy the structure for reconcile_tables; mode controls which unmatched rows appear in output.
Hints: read-only yes · destructive no · idempotent yes · open-world no
view_table_demoread-onlyJoin the bundled fixed tables and show changed and unmatched records. No arguments, key or credit. This cannot process custom data; use reconcile_tables with a paid key for your files.
Hints: read-only yes · destructive no · idempotent yes · open-world no
inspect_tableProfile a CSV or explicit string table before writing a recipe. Return empty, distinct and duplicate-value counts per column and complete formula warnings; no schema or business validity is inferred. Supply CSV OR columns/rows, never both. JSON numbers must be encoded as strings so identifiers keep leading zeros. One paid operation; no content retained. Reuse request_id only for identical input.
Parameters:
table(required)request_id
Hints: read-only no · destructive no · idempotent no · open-world no
prepare_tableSelect, rename, derive and convert columns using a caller-owned version-1 recipe. Rules reference original input headers; output follows recipe order and omitted columns are listed. All input rows remain. Any failed conversion returns valid=false, all findings and csv_text=null, never a partially transformed file. No arithmetic, arbitrary code, schema inference or destination writes. One completed report costs one operation, including valid=false. Use reconcile_tables for two-file matching.
Parameters:
table(required)recipe(required)request_id
Hints: read-only no · destructive no · idempotent no · open-world no
reconcile_tablesJoin two bounded tables using exact string or composite keys. Both sides must have non-empty unique keys: duplicates block the entire output, including many-to-many matches. Choose left, inner or full retention explicitly; unmatched records are reported even if excluded. Optional compare fields flag changed values without resolving them. Output includes row lineage; missing-side fields are empty strings. No trimming, fuzzy matching or destination writes. Combined inputs share 1 MB/10,000 records/250,000 cells. One completed report costs one operation; reuse request_id for identical retries. Full findings or an uncharged size error, never silent truncation.
Parameters:
left(required)right(required)recipe(required)request_id
Hints: read-only no · destructive no · idempotent no · open-world no
validate_csvCheck a CSV against your explicit schema; return all issue counts and at most 200 detailed findings. Headers match exactly; required=false permits empty cells, not missing headers. Unique compares raw non-empty strings. Dates use YYYY-MM-DD, decimals use a dot without grouping, booleans use true/false. A valid=false report is a completed paid operation, not a tool failure. No values are changed; use clean_csv for explicit transformations. Validity covers only the supplied rules, not destination-system or business correctness.
Parameters:
csv_text(required) — string — CSV text including header. UTF-8, at most 1 MB; no file paths or URLs.schema(required)delimiter— stringrequest_id— Optional 8–128 character retry key. Reuse only for identical arguments; changed data requires a new key.
Hints: read-only no · destructive no · idempotent no · open-world no
clean_csvApply only requested column renames and transformations, then validate the output against schema. Cleanup column names refer to the original headers; schema names refer to the renamed output. Transformations run in listed order. decimal_comma changes only plain numbers such as 12,50; ambiguous grouping stays unchanged. No records or columns are removed. Returned csv_text is UTF-8-compatible with CRLF record endings. One paid operation includes cleanup and validation. Spreadsheet-safe escaping is opt-in and may make numeric negative cells fail numeric validation; inspect the final report before import.
Parameters:
csv_text(required) — stringschema(required)cleanup(required)delimiter— stringrequest_id
Hints: read-only no · destructive no · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.