{
  "mcpServers": {
    "cleanmyprompt": {
      "url": "https://cleanmyprompt.io/api/v1",
      "description": "Clean, compress, and scan text before sending to AI models. Removes PII, API keys, and secrets. Reduces token count by up to 40%.",
      "tools": [
        {
          "name": "clean_text",
          "description": "Clean, compress, or reformat text. Removes PII, API keys, filler words, and redundant formatting. Use this before sending any long or sensitive text to an LLM to reduce token costs and protect privacy.",
          "inputSchema": {
            "type": "object",
            "required": ["text"],
            "properties": {
              "text": {
                "type": "string",
                "description": "The text to clean (max 100,000 characters)"
              },
              "mode": {
                "type": "string",
                "enum": ["standard", "squeeze", "json"],
                "description": "standard: fix formatting and redact. squeeze: aggressively compress tokens. json: convert to structured JSON."
              },
              "redact": {
                "type": "boolean",
                "description": "Replace PII (emails, phones, SSNs) and secrets (API keys) with placeholders. Default: true."
              },
              "aggressive": {
                "type": "boolean",
                "description": "Enable aggressive compression in squeeze mode. Default: false."
              },
              "lang": {
                "type": "string",
                "enum": ["en", "de", "fr", "es"],
                "description": "Language of the input text. Default: en."
              }
            }
          }
        },
        {
          "name": "analyze_text",
          "description": "Scan text for sensitive data (API keys, PII, links) without modifying it. Returns a boolean and counts of each finding type. Use this to check if text is safe to send to an LLM.",
          "inputSchema": {
            "type": "object",
            "required": ["text"],
            "properties": {
              "text": {
                "type": "string",
                "description": "The text to analyze (max 100,000 characters)"
              }
            }
          }
        }
      ]
    }
  }
}
