Import Check: Validate & Clean CSV
What this MCP does
Validates CSV files against explicit schemas and applies requested column cleanup and transformations.
Tools
Input schema
{'type': 'object', '$defs': {'Change': {'type': 'object', 'title': 'Change', 'required': ['column', 'action'], 'properties': {'action': {'enum': ['trim', 'lowercase', 'uppercase', 'decimal_comma'], 'type': 'string', 'title': 'Action'}, 'column': {'type': 'string', 'title': 'Column', 'maxLength': 100, 'minLength': 1, 'description': 'Original header before any renaming.'}}, 'additionalProperties': False}, 'Column': {'type': 'object', 'title': 'Column', 'required': ['name'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'maxLength': 100, 'minLength': 1, 'description': 'Exact, case-sensitive header after any cleanup rename.'}, 'type': {'enum': ['string', 'integer', 'decimal', 'boolean', 'date', 'email'], 'type': 'string', 'title': 'Type', 'default': 'string'}, 'unique': {'type': 'boolean', 'title': 'Unique', 'default': False, 'description': 'Require non-empty raw strings to be unique within this column.'}, 'choices': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100}, {'type': 'null'}], 'title': 'Choices', 'default': None, 'description': 'Optional exact allowed strings, checked before type conversion.'}, 'maximum': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'title': 'Maximum', 'default': None, 'description': 'Inclusive numeric bound, as a decimal string. Numeric columns only.'}, 'minimum': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'title': 'Minimum', 'default': None, 'description': 'Inclusive numeric bound, as a decimal string. Numeric columns only.'}, 'required': {'type': 'boolean', 'title': 'Required', 'default': True, 'description': 'Reject an empty value. Every declared header must exist regardless.'}, 'max_length': {'type': 'integer', 'title': 'Max Length', 'default': 10000, 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, 'Cleanup': {'type': 'object', 'title': 'Cleanup', 'properties': {'rename': {'type': 'object', 'title': 'Rename', 'description': 'Original header to new header; simultaneous rename, no dropping columns.', 'additionalProperties': {'type': 'string'}}, 'changes': {'type': 'array', 'items': {'$ref': '#/$defs/Change'}, 'title': 'Changes', 'maxItems': 100, 'description': 'Applied in order to explicitly named original columns only.'}, 'spreadsheet_safe': {'type': 'boolean', 'title': 'Spreadsheet Safe', 'default': False, 'description': 'Prefix cells starting with spreadsheet formula markers with an apostrophe. Output is then revalidated; numeric negatives may fail numeric types.'}}, 'additionalProperties': False}, 'CsvSchema': {'type': 'object', 'title': 'CsvSchema', 'required': ['columns'], 'properties': {'columns': {'type': 'array', 'items': {'$ref': '#/$defs/Column'}, 'title': 'Columns', 'maxItems': 100, 'minItems': 1}, 'allow_extra_columns': {'type': 'boolean', 'title': 'Allow Extra Columns', 'default': False}}, 'additionalProperties': False}}, 'title': 'clean_csvArguments', 'required': ['csv_text', 'schema', 'cleanup'], 'properties': {'schema': {'$ref': '#/$defs/CsvSchema'}, 'cleanup': {'$ref': '#/$defs/Cleanup'}, 'csv_text': {'type': 'string', 'title': 'Csv Text'}, 'delimiter': {'enum': [',', ';', '\t', '|'], 'type': 'string', 'title': 'Delimiter', 'default': ','}, 'request_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Request Id', 'default': None}}}
Input schema
{'type': 'object', 'title': 'get_csv_exampleArguments', 'properties': {}}
Input schema
{'type': 'object', 'title': 'get_csv_usageArguments', 'properties': {}}
Input schema
{'type': 'object', '$defs': {'Column': {'type': 'object', 'title': 'Column', 'required': ['name'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'maxLength': 100, 'minLength': 1, 'description': 'Exact, case-sensitive header after any cleanup rename.'}, 'type': {'enum': ['string', 'integer', 'decimal', 'boolean', 'date', 'email'], 'type': 'string', 'title': 'Type', 'default': 'string'}, 'unique': {'type': 'boolean', 'title': 'Unique', 'default': False, 'description': 'Require non-empty raw strings to be unique within this column.'}, 'choices': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100}, {'type': 'null'}], 'title': 'Choices', 'default': None, 'description': 'Optional exact allowed strings, checked before type conversion.'}, 'maximum': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'title': 'Maximum', 'default': None, 'description': 'Inclusive numeric bound, as a decimal string. Numeric columns only.'}, 'minimum': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'title': 'Minimum', 'default': None, 'description': 'Inclusive numeric bound, as a decimal string. Numeric columns only.'}, 'required': {'type': 'boolean', 'title': 'Required', 'default': True, 'description': 'Reject an empty value. Every declared header must exist regardless.'}, 'max_length': {'type': 'integer', 'title': 'Max Length', 'default': 10000, 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, 'CsvSchema': {'type': 'object', 'title': 'CsvSchema', 'required': ['columns'], 'properties': {'columns': {'type': 'array', 'items': {'$ref': '#/$defs/Column'}, 'title': 'Columns', 'maxItems': 100, 'minItems': 1}, 'allow_extra_columns': {'type': 'boolean', 'title': 'Allow Extra Columns', 'default': False}}, 'additionalProperties': False}}, 'title': 'validate_csvArguments', 'required': ['csv_text', 'schema'], 'properties': {'schema': {'$ref': '#/$defs/CsvSchema'}, 'csv_text': {'type': 'string', 'title': 'Csv Text', 'description': 'CSV text including header. UTF-8, at most 1 MB; no file paths or URLs.'}, 'delimiter': {'enum': [',', ';', '\t', '|'], 'type': 'string', 'title': 'Delimiter', 'default': ','}, 'request_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Request Id', 'default': None, 'description': 'Optional 8–128 character retry key. Reuse only for identical arguments; changed data requires a new key.'}}}
Input schema
{'type': 'object', 'title': 'view_csv_demoArguments', 'properties': {}}
Recent tool changes
Similar MCP servers
LiveDataLink
Exposes public-data tools covering economics, labor, banking, transport, books, legal opinions, carriers, environmental data, and…
AlpineDataWorks Intelligence Server
Provides economic, market, supply-chain, real-estate, energy, consumer, labor, and other scored intelligence indices with histori…
SharksAPI.AI
Provides marketing analytics and actions across GA4, Search Console, Google Ads, social channels, SEO, WordPress, and marketing p…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…