Import Check by Orvel

DOCUMENTATION · V0.1.0

One engine. Three ways to use it.

Use the browser workspace, REST API, or MCP server. Custom files require a paid key. Fixed examples and demo reports are free. CSV contents and reports are never persisted by this service.

Connect an MCP client

Transport: stateless Streamable HTTP. Server URL:

https://import-check-production.up.railway.app/mcp

Connect anonymously to discover tools and run view_csv_demo {}. For your own files, buy a pack and configure the header Authorization: Bearer YOUR_API_KEY. Use a client that supports custom headers; OAuth-only clients cannot use paid operations in v0.1.

{
  "mcpServers": {
    "import-check": {
      "type": "http",
      "url": "https://import-check-production.up.railway.app/mcp",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"}
    }
  }
}

This is a generic client configuration example; the enclosing settings format depends on your client. Store your key in the client's secret settings and keep it out of source control.

First prompt: “Run Import Check's free demo. Explain which rows fail and why.” Paid prompt: “Validate this CSV against these explicit column rules. Report problems before making changes.”

ToolUseCredit
get_csv_exampleComplete fixed CSV and schema to copyFree
view_csv_demoRun fixed sample through the live engineFree
get_csv_usageRemaining allowance; requires keyFree
validate_csvCheck supplied CSV and schema1
clean_csvExplicit changes, returned CSV, output validation1

REST quick start

GET /v1/example returns a complete request body. Save it as input.json, then:

curl https://import-check-production.up.railway.app/v1/validate \
  -H "Authorization: Bearer $IMPORT_CHECK_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: customer-import-0001" \
  --data-binary @input.json

POST /v1/clean adds a cleanup object. GET /v1/usage returns your balance. GET /v1/demo runs the fixed free sample. The full machine-readable contract is at /openapi.json.

Schema and format rules

{
  "csv_text": "id,amount,joined\nA1,12.50,2026-09-01\n",
  "delimiter": ",",
  "schema": {
    "columns": [
      {"name":"id", "type":"string", "required":true, "unique":true},
      {"name":"amount", "type":"decimal", "minimum":"0", "maximum":"9999"},
      {"name":"joined", "type":"date"}
    ],
    "allow_extra_columns": false
  }
}

Explicit cleanup

"cleanup": {
  "rename": {"Email Address":"email"},
  "changes": [{"column":"Email Address", "action":"trim"}],
  "spreadsheet_safe": false
}

Allowed actions: trim, lowercase, uppercase, decimal_comma. They run in listed order on original header names. Renames are simultaneous, and the schema describes the renamed output. Decimal-comma conversion changes 12,50 into 12.50; it leaves grouping or ambiguous formats untouched. No rows are removed and no formulas are evaluated.

spreadsheet_safe:true prefixes formula-like data cells and headers with an apostrophe. Header escaping changes the output header name, which must match the supplied output schema. This changes the cell value and may cause numeric validation failures for negative numbers. The returned report validates the actual transformed values. This option is designed for spreadsheet export; review it before importing into another system. The service warns about formula-like cells even when escaping is disabled.

Limits, billing and retries

Maximum input: 1,000,000 UTF-8 bytes, 10,000 records, 100 columns, 250,000 cells, 10,000 characters per cell. HTTP JSON body limit: 2 MB. Delimiters: comma, semicolon, tab or pipe. Split larger files; v0.1 has no background jobs or file storage.

€9 buys 100 operations valid for 90 days from settled payment. Each completed validation or cleanup report costs one operation, including valid:false. Malformed CSV, invalid schemas, and service failures do not return a paid report. The free demo cannot process custom data. Refunds and disputes revoke access; retrieving a key never refills it.

For REST retries use Idempotency-Key; for MCP use request_id. Allowed format: 8–128 ASCII letters, digits, underscores, dots, colons or hyphens. Identical input, operation and request ID consume only once for that purchase. Reusing an ID for changed input is rejected. Without an ID every completed call consumes an operation. Generate a new ID when updating inputs or after an engine version change.

REST errors: 401 invalid/inactive key, 402 exhausted pack, 409 conflicting retry, 422 invalid input, 429 rate limit, 503 unavailable. MCP business errors are tool errors with actionable messages. Retry temporary failures with the same ID. JSON-RPC batches are not supported.

Data boundaries

The service never downloads URLs, executes formulas, writes to a destination database or sends data to an LLM. It validates only the supplied rules, not accounting correctness, identity, or compatibility with an external importer. Treat cell content and headers as untrusted data in your agent's workflow.

Contact Orvel for activation or key recovery. Keep your payment receipt; never email CSV contents or your API key.