protogrid

Search / io.github.LeBorgneAntoine/import-check

Import Check: Validate & Clean CSV

R0· no sign-in

Validate and prepare CSV; reconcile two tables with exact keys and full findings. Fixed free demos.

v0.2.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality96strong
Trust80of 100
Uptime, 30 days100%
Latency p50420 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "import-check": {
      "type": "http",
      "url": "https://check.orvel.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${IMPORT_CHECK_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http import-check https://check.orvel.dev/mcp --header "Authorization: Bearer ${IMPORT_CHECK_TOKEN}"
[mcp_servers.import-check]
url = "https://check.orvel.dev/mcp"
bearer_token_env_var = "IMPORT_CHECK_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "import-check": {
      "type": "remote",
      "url": "https://check.orvel.dev/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:IMPORT_CHECK_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "import-check": {
      "type": "http",
      "url": "https://check.orvel.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${IMPORT_CHECK_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=import-check&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY2hlY2sub3J2ZWwuZGV2L21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0lNUE9SVF9DSEVDS19UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "import-check": {
      "type": "http",
      "url": "https://check.orvel.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${IMPORT_CHECK_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "import-check": {
      "httpUrl": "https://check.orvel.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${IMPORT_CHECK_TOKEN}"
      }
    }
  }
}
extensions:
  "import-check":
    enabled: true
    name: "import-check"
    type: streamable_http
    uri: "https://check.orvel.dev/mcp"
    headers:
      "Authorization": "Bearer ${IMPORT_CHECK_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${IMPORT_CHECK_TOKEN}. The registry never accepts secret values.

Quality 96 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations10 of 10 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 4,096 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes5 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

10 tools, about 4,096 tokens to load them all · tool set 28d059bfa0d7 · tools last changed 2026-10-01 · checked 2026-10-20 07:53 UTC

Tool changes

  • reconcile_tablesadded

    Join 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.

  • prepare_tableadded

    Select, 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.

  • inspect_tableadded

    Profile 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.

  • view_table_demoadded

    Join 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.

  • get_table_exampleadded

    Return 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.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance45
liveness100
freshness100
hygiene80

+website +reachable +uptime-100% +updated-18d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://check.orvel.dev/mcp streamable-httpnoneyes100%420 ms2026-07-282026-10-20

Tools (10)

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.
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.
get_csv_usageread-onlyRead remaining operations and expiry for the API key supplied in the Authorization header. Does not consume credit.
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.
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.
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.
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.
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.
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.
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.

Schemas: list_tools.

Similar MCP servers

More from io.github.LeBorgneAntoine

Official server.json
{
  "name": "io.github.LeBorgneAntoine/import-check",
  "icons": [
    {
      "src": "https://check.orvel.dev/assets/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "Import Check: Validate & Clean CSV",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://check.orvel.dev/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional for the fixed free demo and example. Custom CSV: Bearer <API key>. EUR 9 for 100 operations / 90 days. Setup: https://check.orvel.dev/docs/"
        }
      ]
    }
  ],
  "version": "0.2.0",
  "websiteUrl": "https://check.orvel.dev/docs/",
  "description": "Validate and prepare CSV; reconcile two tables with exact keys and full findings. Fixed free demos."
}