CRM CSV Preflight (Sales List Rescue)
Server Details
Detect-only CSV check before CRM import: duplicate, invalid and role emails, blanks, phones, dates.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools are unambiguously separated by input source: preflight_csv operates on a caller-supplied CSV, while preflight_sample runs the identical checks against a built-in demo file. Descriptions explicitly state the relationship ('the same checks as preflight_csv'), so an agent can pick correctly with no overlap risk.
Both names use a single consistent snake_case pattern with a shared 'preflight_' verb/prefix followed by the object being checked (csv vs sample). The pattern is predictable and would scale cleanly if more variants were added.
Two tools is thin for a server surface, and one of them is essentially a demo/sandbox variant rather than an independent capability, so the effective functional surface is a single operation. It is not excessive, but it sits below the well-scoped 3-15 range.
Within its explicitly detection-only scope, the checker covers a broad set of preflight concerns: duplicates, email syntax, role inboxes, blank/placeholder fields, phone normalization suggestions, geo spelling drift, date ambiguity, and structural file problems. The notable gap is the absence of any remediation or report-export tool, which the description deliberately excludes rather than overlooks.
Available Tools
2 toolspreflight_csvCSV preflight check (detect only)ARead-onlyIdempotentInspect
Checks a contact or lead CSV (passed as text, up to 500 data rows and 64 KiB) before a CRM import and reports what it finds: duplicate emails (matched ignoring case and surrounding spaces), invalid email syntax, role or shared inboxes (info@, sales@ and similar), blank required fields (placeholders like N/A, null and - count as blank), phone numbers not written as + country code and digits only (with a suggested form when the fix is mechanical), country and state spelling drift, mixed or ambiguous date formats, and file problems (garbled characters, ragged rows, formula-like cells, stray spaces, header issues). Detection only: it changes nothing, returns no cleaned file, and does not store or log your CSV. Pattern-based; it does not check that mailboxes exist. Same checks as the free Sales List Rescue CSV preflight checker on pureservices.store.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | Yes | The full CSV text including the header row. Comma, semicolon, tab or pipe delimited (auto-detected). | |
| email_column | No | Header name of the email column. Optional; auto-detected when omitted. | |
| phone_column | No | Header name of the phone column. Optional; auto-detected when omitted. | |
| required_columns | No | Header names that must not be blank. Optional; defaults to the detected email, first name, last name and company columns. | |
| default_country_code | No | Calling code assumed for phone numbers without a + prefix: 1 (US/Canada), 44, 61, 49, 33, 91, or "" for no default. | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world, and the description still adds substantive context on top: no data retention or logging, no cleaned file returned, pattern-based matching that does not verify mailbox existence, and hard input limits. It also discloses the exact normalization rules (case- and whitespace-insensitive email matching, placeholders counted as blank), which is behavior an agent could not infer from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core constraint and detection-only qualifier are front-loaded, and the long finding enumeration is a single dense but scannable run. Every listed category corresponds to actual output content, so nothing is filler. It is on the long side and could be split into a bullet-style list for faster parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of telling the agent what comes back, and it does so by enumerating the finding categories plus a mechanical phone fix suggestion. What is missing is the shape of the result (per-row versus aggregate counts, severity ordering) and guidance for CSVs exceeding the 500-row cap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it defines what counts as blank for required columns (N/A, null, '-'), explains that phone fixes are only suggested 'when the fix is mechanical', and implies the role of default_country_code through the '+ country code and digits only' rule. It stops short of explaining column auto-detection or the delimiter handling, which remain schema-only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource: it checks a contact/lead CSV before CRM import and enumerates the finding categories it produces (duplicate emails, invalid syntax, role inboxes, blank required fields, phone format, geo drift, date formats, file problems). An agent knows immediately what the tool does. It never mentions the sibling preflight_sample, so it does not fully differentiate itself from that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Placement in the workflow is explicit ('before a CRM import') and the boundary is drawn sharply: 'Detection only: it changes nothing, returns no cleaned file, and does not store or log your CSV.' The row/size limits (500 rows, 64 KiB) tell the agent when the input is too large. The one gap is that it never says to use preflight_sample instead when the input exceeds those limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflight_samplePreflight report on the built-in sampleARead-onlyIdempotentInspect
Runs the same checks as preflight_csv on the checker's built-in sample CSV (fake placeholder data) and returns the sample plus its report, so you can see the report format without sending a file. Detection only; does not store or log your CSV.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real value beyond them: the data is fake placeholder content, the response includes both the sample and its report, and nothing is stored or logged — a privacy guarantee the annotations do not express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that covers action, resource, sibling comparison, return shape, and privacy note with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, an agent needs to know what it gets back and whether calling it has side effects — the description covers both (sample plus report, detection only, nothing stored). Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so per the baseline this scores 4; there is nothing for the description to disambiguate. The description correctly does not invent input requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (runs the same checks as preflight_csv) on a specific resource (the checker's built-in sample CSV) and explicitly contrasts it with the sibling that operates on user-supplied files. An agent can distinguish this from preflight_csv without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"so you can see the report format without sending a file" gives a clear selecting condition versus preflight_csv, and the sibling is named directly. It stops short of an explicit "do not use this for real files" statement, but the implicit routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
preflight_csv - First observed
preflight_sample
Related MCP Connectors
Audit B2B prospect lists before enrichment, CRM import or outreach.
Check emails for valid syntax, MX records, disposable and role addresses and typos. No SMTP check.
Validate and clean CSV before import. Find duplicates, missing values and invalid dates with row-level reports. Apply only the cleanup you request; files are not retained. Run view_csv_demo free without a key. Custom CSV: EUR 9 for 100 operations, valid 90 days, no subscription. Setup: https://check.orvel.dev/docs/
Independent static checks for supported tag and alarm CSV import formats; no HMI or PLC access.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables MCP clients to analyze contact exports, identify duplicate people with evidence-based matching, merge them into a cleaned CSV, and report every conflicting value.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables validation of Shopify product CSV exports before import, detecting duplicate or whitespace-colliding SKUs, missing variant data, repeated option combinations, and conflicting metadata, returning a SHA-256-bound JSON diagnostic report.-
- AlicenseNot gradedqualityAmaintenanceRead-only CRM audit for HubSpot that scores data integrity and finds duplicate clusters and stalled revenue using your own token.MIT
- AlicenseNot gradedqualityCmaintenanceProvides free read-only business checks for IBANs, EU VAT number format, Peppol e-invoice rules, supplier bank-detail changes, and CSV/XLSX data cleaning.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.