well-016-datacleanup

CSV cleanup: dates, emails, phones, dedupe. x402 $0.005 USDC, Base. As is, no warranty.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
86%
Naming quality
50%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'data-cleanup' doesn't follow camelCase/snake_casein data-cleanup

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~683Tokens (tool definitions)
~6.4 KBTypical response size
Moderate attention impact (0.53% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "data-cleanup": {
      "url": "https://well-016-datacleanup.mmelnyk2000.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://well-016-datacleanup.mmelnyk2000.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢data-cleanup(url, csv, has_header, trim_whitespace, key_columns, ...)

Clean a CSV ($0.005 USDC): give an https url or inline csv (max 1 MB / 20k rows). Trims whitespace, optional case rules, dates to ISO 8601, lowercases emails, normalizes phone digits, merges or flags exact + fuzzy duplicate rows on key_columns. Returns cleaned CSV text + JSON report (rows in/out, dupes, columns changed). Deterministic, no AI. As is, no warranty. Nothing stored. As is, no warranty. Nothing stored.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Public https URL of a CSV (max 1 MB).",
      "type": "string"
    },
    "csv": {
      "description": "Inline CSV text instead of url (max 1 MB).",
      "type": "string"
    },
    "has_header": {
      "description": "First row is a header (default true).",
      "type": "boolean"
    },
    "trim_whitespace": {
      "description": "Trim and collapse whitespace in every cell (default true).",
      "type": "boolean"
    },
    "key_columns": {
      "description": "Columns used to detect duplicates (default all).",
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dedupe": {
      "description": "merge (default) keeps first row and fills its blanks; flag adds _duplicate_of_row; none.",
      "type": "string",
      "enum": [
        "merge",
        "flag",
        "none"
      ]
    },
    "fuzzy": {
      "description": "Also match near-duplicates (case/punctuation/accents, small typos). Default true.",
      "type": "boolean"
    },
    "fuzzy_threshold": {
      "description": "Similarity 0.5-1 for typo matches (default 0.92; 1 = normalized-equal only).",
      "type": "number"
    },
    "date_columns": {
      "description": "Columns to convert to ISO 8601 (default auto).",
      "anyOf": [
        {
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "string",
          "enum": [
            "auto",
            "none"
          ]
        }
      ]
    },
    "date_order": {
      "description": "Order for ambiguous numeric dates (default mdy).",
      "type": "string",
      "enum": [
        "mdy",
        "dmy"
      ]
    },
    "email_columns": {
      "description": "Email columns to lowercase (default auto).",
      "anyOf": [
        {
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "string",
          "enum": [
            "auto",
            "none"
          ]
        }
      ]
    },
    "phone_columns": {
      "description": "Phone columns (default auto by header name).",
      "anyOf": [
        {
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "string",
          "enum": [
            "auto",
            "none"
          ]
        }
      ]
    },
    "phone_format": {
      "description": "digits (default) or e164.",
      "type": "string",
      "enum": [
        "digits",
        "e164"
      ]
    },
    "default_country_code": {
      "description": "Country code for e164 when missing (default 1).",
      "type": "string"
    },
    "case_rules": {
      "description": "Map column -> lower | upper | title.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string",
        "enum": [
          "lower",
          "upper",
          "title"
        ]
      }
    },
    "max_groups": {
      "description": "Max duplicate groups listed in report (default 50, max 500).",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools