← WebMCP Directory

Tool tree

cleansheet-brown.vercel.app

Productivity & BusinessTools verified
Website
Cleansheet lets an agent clean a messy spreadsheet through typed WebMCP tools while you approve every change.
Explore capabilities

    page: Every page

    get_sheet_summaryAnswer

    Read the sheet's shape in one call: row count, column count, how many defect classes were found, how many cells they affect, what is staged, and the list of tools currently registered. Call this first.

    View tool JSON
    {
      "name": "get_sheet_summary",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the sheet's shape in one call: row count, column count, how many defect classes were found, how many cells they affect, what is staged, and the list of tools currently registered. Call this first.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    profile_columnAnswer

    Profile a single column: how many rows, how many blank, how many carry stray whitespace, how many distinct values ignoring case, and up to eight sample values. Use this to decide which transform a column needs.

    View tool JSON
    {
      "name": "profile_column",
      "kind": "answer",
      "impl": "imperative",
      "description": "Profile a single column: how many rows, how many blank, how many carry stray whitespace, how many distinct values ignoring case, and up to eight sample values. Use this to decide which transform a column needs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "column": {
            "type": "string",
            "description": "Column key, such as email or signedUp."
          }
        },
        "required": [
          "column"
        ]
      },
      "page": "/"
    }
    detect_issuesAction

    Scan the whole sheet and return every defect class found: stray whitespace, blanks, mixed case, mixed date formats, currency held as text, inconsistent country spellings and duplicate rows. Each entry gives the column, how many cells it affects, an example, and the transform that would fix it. One call replaces reading the file.

    View tool JSON
    {
      "name": "detect_issues",
      "kind": "act",
      "impl": "imperative",
      "description": "Scan the whole sheet and return every defect class found: stray whitespace, blanks, mixed case, mixed date formats, currency held as text, inconsistent country spellings and duplicate rows. Each entry gives the column, how many cells it affects, an example, and the transform that would fix it. One call replaces reading the file.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    preview_transformAction

    Run a transform against a column and return how many cells it would alter, how many it would leave alone, and five before-and-after examples. Nothing is written. Use this to check a transform before staging it.

    View tool JSON
    {
      "name": "preview_transform",
      "kind": "act",
      "impl": "imperative",
      "description": "Run a transform against a column and return how many cells it would alter, how many it would leave alone, and five before-and-after examples. Nothing is written. Use this to check a transform before staging it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "column": {
            "type": "string"
          },
          "op": {
            "type": "string",
            "enum": [
              "trim",
              "lowercase",
              "uppercase",
              "titlecase",
              "normalize_date",
              "normalize_currency",
              "normalize_country"
            ]
          }
        },
        "required": [
          "column",
          "op"
        ]
      },
      "page": "/"
    }
    stage_transformAction

    Stage a transform on an entire column. This does not touch the sheet: it queues a diff the operator reads before anything is written. Staging a transform that would change nothing is refused.

    View tool JSON
    {
      "name": "stage_transform",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a transform on an entire column. This does not touch the sheet: it queues a diff the operator reads before anything is written. Staging a transform that would change nothing is refused.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "column": {
            "type": "string"
          },
          "op": {
            "type": "string",
            "enum": [
              "trim",
              "lowercase",
              "uppercase",
              "titlecase",
              "normalize_date",
              "normalize_currency",
              "normalize_country"
            ]
          }
        },
        "required": [
          "column",
          "op"
        ]
      },
      "page": "/"
    }
    stage_dedupeAction

    Stage the removal of duplicate rows matched on the given columns, keeping the first of each group. Rows where any key column is blank are never treated as duplicates. This drops data, so like every other change it only queues a proposal.

    View tool JSON
    {
      "name": "stage_dedupe",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage the removal of duplicate rows matched on the given columns, keeping the first of each group. Rows where any key column is blank are never treated as duplicates. This drops data, so like every other change it only queues a proposal.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyColumns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Columns that identify a duplicate. Defaults to name and email."
          }
        }
      },
      "page": "/"
    }
    get_efficiency_reportAnswer

    Return how many tool calls and bytes this session has used, and what the same edits would have cost an agent driving the page by sight, under a stated model of five interactions per cell and one screenshot per twenty cells.

    View tool JSON
    {
      "name": "get_efficiency_report",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return how many tool calls and bytes this session has used, and what the same edits would have cost an agent driving the page by sight, under a stated model of five interactions per cell and one screenshot per twenty cells.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }