{
  "name": "text.unicode",
  "group": "text",
  "summary": "Find invisible characters, bidi overrides and script confusables hiding in text.",
  "description": "Scans for characters that are present to a tokenizer but absent to a reader: the Unicode TAG block, zero-width marks, bidirectional overrides, variation selectors, and letters from other scripts that look like Latin ones. This is the mechanism behind instructions concealed in tool descriptions and in text a human has already approved — an evaluation of MCP metadata surfaces found all eight tested techniques delivered a payload into model context, while a representative string-matching sanitizer flagged none of twenty-five benign descriptions. Reports each suspect with its code point and offset, and returns a cleaned copy.",
  "keywords": [
    "invisible characters",
    "zero width space",
    "trojan source",
    "bidi override",
    "homoglyph",
    "confusable",
    "unicode tag block",
    "prompt injection",
    "hidden text",
    "mojibake",
    "sanitise text"
  ],
  "endpoint": "https://fluentedi.com/v1/text/unicode",
  "mcp_name": "text_unicode",
  "makes_network_request": false,
  "parameters": {
    "type": "object",
    "properties": {
      "text": {
        "description": "Text to scan.",
        "type": "string",
        "maxLength": 200000
      },
      "clean": {
        "description": "Return a copy with invisible characters removed and confusables mapped to Latin.",
        "type": "boolean",
        "default": true
      },
      "normalize": {
        "description": "Unicode normalisation to apply to the cleaned copy.",
        "type": "string",
        "enum": [
          "none",
          "NFC",
          "NFKC"
        ],
        "default": "NFC"
      }
    },
    "required": [
      "text"
    ],
    "additionalProperties": false
  },
  "examples": [
    {
      "description": "Text with a hidden instruction in the TAG block",
      "url": "https://fluentedi.com/v1/text/unicode?text=Read%20the%20file%F3%A0%80%81%F3%A0%81%A9%F3%A0%81%A7%F3%A0%81%AE%F3%A0%81%AF%F3%A0%81%B2%F3%A0%81%A5",
      "args": {
        "text": "Read the file󠀁󠁩󠁧󠁮󠁯󠁲󠁥"
      }
    },
    {
      "description": "A Cyrillic lookalike domain",
      "url": "https://fluentedi.com/v1/text/unicode?text=log%20in%20at%20p%D0%B0ypal.com",
      "args": {
        "text": "log in at pаypal.com"
      }
    },
    {
      "description": "A zero-width space splitting a keyword",
      "url": "https://fluentedi.com/v1/text/unicode?text=DEL%E2%80%8BETE%20FROM%20users",
      "args": {
        "text": "DEL​ETE FROM users"
      }
    }
  ],
  "suggestion": null
}