Skip to main content
Glama

Zero-width text hider

hopi_zero_width_text_hider
Read-onlyIdempotent

Hide a secret message inside ordinary text using invisible zero-width Unicode characters, reveal a message hidden that way, or clean zero-width characters out of text. Mode 'hide' takes cover and secret (optional spread to distribute the invisible run between words) and returns the output text plus the number of invisible characters added (UTF-8 bytes x 4 + 1 end marker). Mode 'reveal' takes text and returns the decoded message, or an error if nothing is hidden. Mode 'clean' takes text and strips U+200B, U+200C, U+200D, U+2060, U+FEFF, U+180E and U+00AD, reporting how many were removed. This is hiding, not encryption. Source: https://hopi.co.uk/zero-width-text-hider/

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYeshide, reveal or clean
textNoReveal and clean modes: the text to inspect
coverNoHide mode: the visible cover text that carries the message
secretNoHide mode: the message to hide
spreadNoHide mode: distribute the invisible run evenly between words instead of placing it after the first word

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
outputNo
summaryYes
source_urlYesThe tool's page on hopi.co.uk (cite or open to check the figure)
invisibleCountNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / required
      Added value: +[
      +  "source_url",
      +  "summary"
      +]
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the readOnlyHint and idempotentHint annotations by disclosing exact behavioral details: the character count formula for hidden output, the error behavior when reveal finds nothing, the full list of Unicode characters cleaned, and the fact that removed characters are reported. It also clarifies the important security caveat that hiding is not encryption, which is valuable for agent judgment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet information-dense: it opens with the core purpose, then organizes details by mode without wasted words. Every sentence adds functional value, including the character list, output behavior, and the encryption caveat. The source URL is a minor extra, but not distracting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three modes, five parameters, and an output schema, the description is fully complete. It covers all mode-specific inputs, outputs, error cases, and edge-case behavior such as the spread option and specific Unicode characters. The presence of an output schema means return-value details do not need to be repeated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces which parameters apply to which mode and mentions the optional nature of spread, but it does not add meaning beyond what the schema already provides. This is a fair baseline because the schema itself is well-documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs (hide, reveal, clean) tied to a precise resource: zero-width Unicode characters in text. It clearly distinguishes this tool from the large family of text utilities by naming the exact behavior and the three modes. Each mode is explicitly described, so an agent can identify the tool's purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use each of the three modes and even states 'This is hiding, not encryption,' which helps an agent avoid conflating it with encryption tools. It does not explicitly name alternative sibling tools or state when not to use this tool, but the mode-driven explanations make usage selection straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources