Skip to main content
Glama

cyberchef_defang_url

Defangs URLs, domains, IPs, and emails for safe display in reports by replacing protocols, dots, and @ symbols while preserving paths and query decimals.

Instructions

Sanitizes malicious URLs, domains, IPv4 addresses, and email addresses for safe display and reporting. Scoped: defangs protocol (hxxp/hxxps), defangs hostnames and IP dots while preserving path and query string decimals, and converts email '@' to '[at]'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL, domain, IP, email, or security log excerpt to defang.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.4
    • changedInput schema / properties / url / description
      Previous value: -"The full or partial URL string to defang."New value: +"The URL, domain, IP, email, or security log excerpt to defang."
  2. Changed1 schema field changedv1.0.2
    • changedInput schema / properties / url / description
      Previous value: -"URL to defang"New value: +"The full or partial URL string to defang."
  3. First observedv1.0.1

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and largely does so: it specifies that protocol becomes hxxp/hxxps, hostnames and IP dots are defanged, and '@' becomes '[at]'. The important negative constraint is also disclosed – path and query-string decimals are preserved. Remaining gaps are minor, such as idempotency and exact output shape.

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?

Two sentences, zero filler, with the scoping details front-loaded immediately after the purpose statement. Every clause carries information.

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

Completeness4/5

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

For a single-parameter transformation tool with no output schema and no annotations, the description is nearly sufficient: it fully explains what the input becomes. An explicit example output or required-input caveat would close the last gap.

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

Parameters4/5

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

Only one parameter and schema description coverage is 100%, so the baseline is 4. The description adds little beyond the schema, which already says the input may be a URL, domain, IP, email, or log excerpt.

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?

States a specific verb ('Sanitizes/defangs') and enumerates the exact resources handled: URLs, domains, IPv4 addresses, and email addresses. This clearly distinguishes it from siblings like cyberchef_url_encode or cyberchef_extract_entities, which do different things to similar inputs.

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?

'For safe display and reporting' gives clear context for when to reach for this tool. It does not name alternatives or state exclusions (e.g., use url_encode instead when you want the link to remain clickable), so it stops short of full when/when-not guidance.

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