RemoveDuplicates.org

Remove duplicate lines or CSV/TSV rows from text. Stateless: processed per call, never stored.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~630Tokens (tool definitions)
~6.9 KBTypical response size
Minimal attention impact (0.49% 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": {
    "remove-duplicates": {
      "url": "https://removeduplicates.org/mcp"
    }
  }
}

Remote endpoints

https://removeduplicates.org/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢remove_duplicates(text, format, ignoreCase, trim, removeEmpty, ...)

Remove duplicate lines from a text list, or duplicate rows from CSV/TSV text such as rows copied from Excel or Google Sheets. Uses the same engine as removeduplicates.org and returns the cleaned text with counts. Stateless: the text is processed in memory for this call only and is never stored.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The list or table text: one item per line, or CSV/tab-separated rows. Up to 131072 UTF-8 bytes."
    },
    "format": {
      "type": "string",
      "enum": [
        "auto",
        "lines",
        "table"
      ],
      "default": "auto",
      "description": "auto detects CSV/TSV tables; lines compares whole lines; table forces CSV/TSV parsing."
    },
    "ignoreCase": {
      "type": "boolean",
      "default": false,
      "description": "Treat values such as Apple and apple as duplicates."
    },
    "trim": {
      "type": "boolean",
      "default": false,
      "description": "Ignore surrounding spaces when comparing and return trimmed values."
    },
    "removeEmpty": {
      "type": "boolean",
      "default": true,
      "description": "Drop blank lines or all-blank rows."
    },
    "keep": {
      "type": "string",
      "enum": [
        "first",
        "last"
      ],
      "default": "first",
      "description": "Which occurrence of a duplicate survives."
    },
    "order": {
      "type": "string",
      "enum": [
        "preserve",
        "sort"
      ],
      "default": "preserve",
      "description": "preserve keeps the original order; sort returns a natural (numeric-aware) sort."
    },
    "compare": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "row"
          ]
        },
        {
          "type": "integer",
          "minimum": 0
        },
        {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "minItems": 1,
          "uniqueItems": true
        }
      ],
      "default": "row",
      "description": "Tables only: \"row\" compares entire rows; a zero-based column index or an array of indices compares only those columns."
    },
    "header": {
      "type": "boolean",
      "default": false,
      "description": "Tables only: keep the first row as a header outside duplicate checks and counts."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The cleaned text, rows joined with \\n."
    },
    "format": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "lines",
            "csv",
            "tsv"
          ]
        },
        "columns": {
          "type": "integer"
        },
        "header": {
          "type": "boolean"
        }
      },
      "required": [
        "kind",
        "columns",
        "header"
      ]
    },
    "stats": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "description": "Input lines or data rows (header excluded)."
        },
        "unique": {
          "type": "integer",
          "description": "Lines or data rows kept."
        },
        "removed": {
          "type": "integer",
          "description": "duplicates + emptyRemoved."
        },
        "duplicates": {
          "type": "integer"
        },
        "emptyRemoved": {
          "type": "integer"
        },
        "reduction": {
          "type": "number",
          "description": "Percent of input removed, one decimal."
        }
      },
      "required": [
        "total",
        "unique",
        "removed",
        "duplicates",
        "emptyRemoved",
        "reduction"
      ]
    }
  },
  "required": [
    "text",
    "format",
    "stats"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools