cyber-chef-mcp
Allows Codeium/Windsurf agents to execute CyberChef operations for reverse engineering, cryptography, and security analysis.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cyber-chef-mcpDecode this JWT token and show when it expires"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
title: CyberChef MCP Server emoji: 🍳 colorFrom: blue colorTo: indigo sdk: docker app_port: 7860 pinned: false
🍳 CyberChef MCP Server
Turn your AI Agents into Master Reverse Engineers & Cryptographers.
The CyberChef Model Context Protocol (MCP) server exposes the power of CyberChef (The Cyber Swiss Army Knife) directly to autonomous coding and security agents, including Claude Desktop, Cursor IDE, Windsurf, and Strix Pentesting Framework.
Agents can dynamically bake complex multi-stage recipe pipelines (Hex -> XOR -> Base64 -> Deflate -> Regex) in a single turn without hallucinating encodings or failing on obscure binary transformations.
Related MCP server: CyberChef MCP Server
🚀 Features
⚡ Native Recipe Execution (
cyberchef_bake): Chain any sequence of operations with arbitrary parameters.🪄 Magic Mode (
cyberchef_magic): Automatically detect and deobfuscate unknown payloads without prior knowledge of the encoding scheme.🛡️ Specialized Cybersecurity Primitives:
jwt_decode: Parse header, claims, and signature with Unix expiry conversions.entropy_calc: Measure Shannon entropy to detect packed, obfuscated, or encrypted blobs (threshold > 7.2).defang_url: Sanitize malicious URLs and IPs (hxxps[://],192[.]168[.]1[.]1) before safe display.from_base64/to_base64,from_hex/to_hex,url_decode/url_encode.
📚 Interactive Catalog (
cyberchef_help): Allows agents to introspect available operations and parameter schemas dynamically on demand.
📦 Installation & Quickstart
Option A: Run via NPX (Recommended)
npx @noorfatima123456/cyber-chef-mcpOption B: Clone & Run Locally
git clone https://github.com/noor202401938-netizen/cyber-chef-mcp.git
cd cyber-chef-mcp
npm install
npm start🔌 Agent Integration Configurations
1. Claude Desktop
Add to your claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cyberchef": {
"command": "npx",
"args": ["-y", "@noorfatima123456/cyber-chef-mcp"]
}
}
}2. Cursor IDE
In Cursor Settings > Features > MCP:
Name:
cyberchefType:
commandCommand:
npx -y @noorfatima123456/cyber-chef-mcp
3. Windsurf Cascade
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"cyberchef": {
"command": "npx",
"args": ["-y", "@noorfatima123456/cyber-chef-mcp"]
}
}
}4. Strix Pentesting Framework
Add to ~/.strix/mcp-servers.json (or pass via --mcp-config):
[
{
"name": "cyberchef",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@noorfatima123456/cyber-chef-mcp"],
"notes": "CyberChef MCP server for multi-layer payload deobfuscation, crypto decoding, and entropy analysis."
}
]🛠️ Available MCP Tools
Tool Name | Parameters | Description |
|
| Run multi-stage pipeline recipes (e.g. Base64 -> XOR -> Gunzip) |
|
| Automatically bruteforces and decodes nested obfuscated data |
|
| Decodes JWT header, payload, and formats expiry timestamps |
|
| Calculates Shannon entropy (0.0 to 8.0) to identify encrypted payloads |
|
| Neutralizes malicious URLs/IPs for safe reporting |
|
| Decodes base64 strings |
|
| Encodes string to base64 |
|
| Converts hexadecimal sequences to plaintext |
|
| Converts plaintext string to hex |
|
| Decodes percent-encoded URL parameters |
|
| Searches and lists available operations and usage examples |
💡 Example Agent Workflows
Scenario 1: Reversing Obfuscated SQL Injection
Prompt to Claude/Strix:
"The application log caught query
?id=JyBVTklPTiBTRUxFQ1QgdXNlcm5hbWUsIHBhc3N3b3JkIEZST00gdXNlcnMtLQ==. What is this payload doing?"
Agent Action:
Calls
from_base64on the payload.Receives:
' UNION SELECT username, password FROM users--.Analyzes business risk: High risk of credential database dump via SQL Injection.
Scenario 2: High Entropy Shellcode Detection
Prompt:
"Analyze this suspicious payload string found in an uploaded avatar file."
Agent Action:
Calls
entropy_calc. Returns7.82(critical anomaly > 7.2).Calls
cyberchef_magicwith depth 3.Unpacks XOR key
0x5A+ Gzip compression -> reveals obfuscated reverse shell binary.
🏛️ Part of Project Hisaar (حصار)
CyberChef MCP powers the deep analysis engine inside Hisaar, the grassroots bilingual AI cybersecurity platform for Pakistan. While Hisaar provides automated AST remediation and community scam protection, cyberchef-mcp is open-sourced as a standalone foundation for the global AI security ecosystem.
License
Apache License 2.0. Open-sourced for security researchers and autonomous defense engineers.
Available Tools
17 toolscyberchef_analyse_hashA
Identifies probable cryptographic hash algorithms for a given digest based on character set, bit length, and structural signatures (such as MD5, SHA-1, SHA-256, NTLM, bcrypt).
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | The hash digest string to inspect and classify (e.g., a 32-character hex string for MD5, 64-character for SHA-256). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It is transparent that the result is probable rather than certain and identifies the heuristics used, but it does not disclose the output shape (single match vs list), confidence values, or behavior for malformed/unknown hashes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and target, then the method and examples. There is no filler or repetition of the schema, and every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter analysis tool, the definition is nearly complete: input, method, and probable outcome are present. The only meaningful gap is the absence of an output schema or explicit note about how matches/confidence are returned, which would matter to an agent deciding how much to trust the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already gives 100% parameter coverage with a clear description plus length examples. The tool description adds context about character-set and length being classification signals, but it mostly reinforces rather than substantially extends the schema-defined semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action ('Identifies probable cryptographic hash algorithms'), a clear resource ('given digest'), and the distinguishing method (character set, bit length, structural signatures). It also names representative hash types, making its scope unmistakable and separating it from sibling encode/decode/hash tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you have a digest and need to determine what hash algorithm produced it. However, it never explicitly contrasts it with siblings like cyberchef_magic or states when not to use it, leaving routing partially to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_bakeA
Executes a multi-stage sequential data transformation pipeline ('recipe') on the input string, chaining multiple operations such as Base64, Hex, URL decoding, XOR, ROT13, and hashing in a single turn. Use this tool when dealing with layered obfuscation or when an automated pipeline is needed to fully unwrap nested attack payloads without requiring multiple LLM conversational rounds.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The raw, encoded, or obfuscated input string to process through the transformation pipeline. Can be plain text, hex-encoded bytes, Base64 strings, or URL-encoded parameters. | |
| recipe | Yes | Ordered array of recipe steps to execute in sequence. Example: [{'op': 'From Base64'}, {'op': 'URL Decode'}] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully states that operations are sequential and happen in a single turn, but it does not describe output format, failure behavior, or whether the operation is side-effect-free. The transformation nature implies non-destructiveness, but this is not made explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action. There is minor redundancy between 'multi-stage sequential' and 'chaining multiple operations', and between 'single turn' and 'without requiring multiple LLM conversational rounds', but overall it is well-structured and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The parameter instructions and recipe examples are clear and complete. However, there is no output schema and the description does not describe what the tool returns or how errors are handled, which leaves a gap for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters well. The description adds context and operation examples but no additional parameter syntax or format details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('executes a multi-stage sequential data transformation pipeline') and a specific resource ('input string', 'recipe'). It emphasizes chaining multiple operations, which distinguishes it from the sibling single-operation tools like cyberchef_from_base64 or cyberchef_url_decode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use the tool: for layered obfuscation or when an automated pipeline is needed without multiple conversational rounds. It does not explicitly say 'do not use for single operations', but the contrast with sibling tools is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_defang_urlA
Sanitizes malicious or suspicious URLs into a defanged representation (e.g. converting 'http' to 'hxxp' and '.' to '[.]') to prevent accidental clicks while preserving the domain for security reporting.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The full or partial URL string to defang. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses the transformation strategy with examples and explains the intent ('prevent accidental clicks') and a key constraint ('preserving the domain'). It does not cover edge cases or failure behavior, but for a simple single-input transform this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-structured sentence that front-loads the action, provides concrete examples, and closes with the rationale. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter transformation with no output schema, the description gives enough context to use the tool correctly: what input is expected, what transformation occurs, and why it is useful. Explicit return-value or error-handling details would be a minor improvement, but the core invocation is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the only parameter ('The full or partial URL string to defang') at 100% coverage, so the baseline is 3. The description reinforces the input type and purpose but does not add format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Sanitizes') and resource ('malicious or suspicious URLs') and gives concrete transformation examples ('http' to 'hxxp', '.' to '[.]'). It clearly distinguishes this tool from generic URL decoding/encoding siblings by explaining the defanging goal and the preservation of the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys a clear use case: making malicious or suspicious URLs safe for display and security reporting while preserving the domain. It does not explicitly name alternatives or state when not to use it, but the context is strong enough for an agent to infer appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_entropyA
Calculates the Shannon entropy (randomness in bits per symbol) of the input data to determine whether it is plaintext, compressed data, packed shellcode, or high-entropy encrypted ciphertext. Provides representation-calibrated analysis for Hex (max 4.0 bits/char) and Base64 (max 6.0 bits/char).
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The data string or payload representation to analyze for information density and randomness. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It does this well by disclosing that the analysis is representation-calibrated, with explicit max entropy values for Hex (4.0 bits/char) and Base64 (6.0 bits/char), and that the tool classifies input types. The main gap is that the exact return format (e.g., numeric score, classification label, or both) is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence states the core operation and purpose; the second adds the critical representation-specific detail. Every clause earns its place, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool without an output schema, the description is largely complete: it explains what the tool does, the input data, and special representation behavior. The only notable omission is the exact shape of the result (e.g., does it return a number, a classification label, or both). This is a minor gap because the invocation itself is fully covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the single parameter, giving 100% coverage and setting a baseline of 3. The description adds useful semantics by indicating that representation matters: Hex and Base64 encodings receive calibrated analysis. This goes beyond the schema's generic 'data string or payload representation' phrasing and helps an agent understand how the input representation affects behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calculates the Shannon entropy (randomness in bits per symbol) of the input data.' It further clarifies the tool's analytical purpose by naming example outcomes (plaintext, compressed data, packed shellcode, high-entropy encrypted ciphertext). This clearly distinguishes it from the sibling CyberChef tools, which perform different operations like encoding, decoding, or hashing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: to determine whether input data is plaintext, compressed, packed, or encrypted. It does not explicitly list alternative tools or exclusions, but given the specialized purpose and the sibling list, the intended usage is sufficiently clear. A small deduction for not explicitly stating when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_extract_entitiesA
Scans unstructured text, logs, memory dumps, or decompiled scripts to automatically extract security entities including IPv4 addresses, URLs, and email addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The unstructured text, log excerpt, or payload from which to extract forensic artifacts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the entire disclosure burden. It reasonably frames the operation as non-destructive scanning and enumerates entity categories, but it doesn't describe the output shape, possible entity list size, or extraction limitations. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It front-loads the action and input scope, then gives useful examples of the entity types, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, this description gives enough context for correct invocation: what input to pass and what to expect conceptually. The only gap is explicit return formatting, but that is a modest omission given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the text parameter as 'unstructured text, log excerpt, or payload from which to extract forensic artifacts' with 100% coverage. The description repeats the same idea without adding parameter-specific detail, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a concrete action ('Scans... to extract') and names the resource type (unstructured text, logs, memory dumps, decompiled scripts) plus the security entity classes extracted. This clearly separates it from transformation tools like cyberchef_from_base64 or cyberchef_url_decode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly identifies the intended inputs and scenario: raw or semi-structured text, logs, memory dumps, and decompiled scripts. It doesn't name sibling alternatives or give explicit exclusion conditions, but the use case is clear enough that an agent can select it without guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_from_base64A
Decodes standard RFC 4648 or URL-safe Base64 encoded strings into readable UTF-8 plaintext. Automatically strips whitespace and handles padding.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The Base64 encoded string to decode (e.g., 'SGVsbG8gV29ybGQ='). | |
| urlSafe | No | Optional boolean. Set to true if the input uses URL-safe Base64 encoding with '-' and '_' instead of '+' and '/'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond the bare purpose by noting that whitespace is automatically stripped and padding is handled, which are useful non-obvious behaviors. It does not describe failure on invalid Base64 input, but the stated behavior is otherwise clear and honest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler, and the primary action is front-loaded in the first word. Every clause adds useful information about behavior or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter decoder, the description is largely complete: it explains the input format, supported variants, output type, and two edge-case behaviors. It could mention invalid-input handling, but that is a minor omission given the tool's simplicity and the schema's thorough parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both the input and urlSafe parameters. The tool description does not add meaning beyond the schema, matching the baseline expectation for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Decodes standard RFC 4648 or URL-safe Base64 encoded strings into readable UTF-8 plaintext.' It clearly states the tool's function and distinguishes it from siblings like cyberchef_to_base64 and cyberchef_from_hex.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when a user has Base64-encoded text and wants readable plaintext, but it does not explicitly say when to prefer it over alternatives such as cyberchef_magic or cyberchef_url_decode. It also does not mention the urlSafe parameter's role in switching behavior, leaving that to the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_from_hexA
Converts a hexadecimal byte string back into UTF-8 text or raw character data. Supports raw contiguous hex, space-separated bytes, 0x prefixes, and comma delimiters.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Hexadecimal string to decode (e.g., '48656c6c6f', '48 65 6c 6c 6f', or '0x480x650x6c0x6c0x6f'). | |
| delimiter | No | Optional delimiter used between hex bytes. Allowed values: 'None' (default, contiguous hex), 'Space' ('48 65'), '0x' ('0x480x65'), or 'Comma' ('48,65'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It explains the conversion direction and accepted input formats, which is helpful, but it does not disclose behavior for invalid hex input, non-UTF-8 byte sequences, or exactly how 'raw character data' is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The core action is front-loaded, and the supported format details are presented compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple conversion tool with a well-documented schema, the description is nearly complete. It states the input, output, and accepted formats. The main gap is the lack of explicit error-handling or edge-case behavior, but this is minor given the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters with examples and enum values. The description's mention of supported formats ('raw contiguous hex, space-separated bytes, 0x prefixes, comma delimiters') largely duplicates the schema's delimiter documentation without adding new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Converts'), a clear resource ('hexadecimal byte string'), and the output ('UTF-8 text or raw character data'). It clearly distinguishes this from sibling tools like cyberchef_to_hex by indicating the reverse direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: whenever hex decoding is needed. However, it does not explicitly mention alternatives, exclusions, or conditions that would route an agent to a different sibling tool such as cyberchef_to_hex or cyberchef_magic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_helpA
Searches the built-in CyberChef operations catalog to find available tools, supported recipe names, and operation capabilities by keyword or category.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional search term to filter operations (e.g., 'base64', 'hex', 'hash', 'xor', 'jwt', 'forensics'). If omitted or empty, returns the full catalog. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It communicates that this is a read-only catalog search and mentions filtering by keyword or category, which is useful. It does not mention output format, limits, or potential error behavior, but for a search/help tool these are minor gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no filler. It front-loads the action and resource, then lists the useful outcome categories.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter discovery tool, the description covers the essential behavior: searching the catalog by keyword or category and surfacing tool and recipe capabilities. Since there is no output schema, a more explicit mention of the return shape would be ideal, but the wording is sufficient for an agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents the single optional query parameter. The description adds a bit of context by mentioning keyword or category filtering, but it does not materially extend the parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('searches'), a resource ('built-in CyberChef operations catalog'), and the kinds of results it returns ('available tools, supported recipe names, and operation capabilities'). This clearly differentiates it from the sibling operation tools like cyberchef_bake or cyberchef_from_base64.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes it clear that this is a catalog discovery tool, which implies using it when you need to find an operation rather than execute a specific recipe. However, it does not explicitly state when not to use it or name an alternative, so usage guidance is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_jwt_decodeA
Decodes and inspects JSON Web Tokens (JWT) without requiring a signature secret. Parses and validates the Jose header, claims payload, algorithm specifications, expiration dates, and detects dangerous 'none' algorithms.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The complete encoded JSON Web Token in standard 'header.payload.signature' dot-separated format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that no signature secret is required, that the tool parses and validates the header, payload, algorithm specification, expiration dates, and that it detects dangerous 'none' algorithms. It does not describe error handling or output format, but for a simple read-only decode tool this is a reasonably complete behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core operation first and then details the validation scope. There is no redundant text, filler, or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only decoding tool, the description covers the input format, the operation's purpose, and key behaviors such as secret-free decoding and 'none' algorithm detection. It does not explain the exact return shape, but that is a minor gap given the simplicity of the tool and the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the only parameter, 'token', is well described in the schema as a dot-separated 'header.payload.signature' JWT. The tool description adds no parameter-level information beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Decodes and inspects') and a clear resource (JSON Web Tokens), plus specific capabilities such as parsing the header, claims, expiration dates, and detecting 'none' algorithms. This is sufficient to distinguish the tool from all listed CyberChef siblings, none of which relate to JWT handling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly communicates that this tool is for decoding/inspecting JWTs without a signature secret, which gives an agent a clear context for choosing it. It does not explicitly mention exclusions or alternative tools, but no sibling tool performs a similar JWT function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_magicA
Performs heuristic forensic analysis on suspicious, unknown, or obfuscated strings to detect encoding formats (Base64, Hex, URL encoding), hash signatures (MD5, SHA1, SHA256), ciphers, and compression. Returns identified patterns, confidence scores, and recommended CyberChef recipes to deobfuscate the data.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The unknown or obfuscated string, token, or payload to inspect and analyze. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It discloses that the tool performs heuristic analysis and returns patterns, confidence scores, and recipes, which is helpful. However, it does not describe what happens with unrecognized input (e.g., returns an error or empty results?), or any limitations of heuristic analysis. This is above the minimum but misses key behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and includes concrete output elements. No wasted words. Each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a simple one-parameter input and no output schema, the description must convey what the tool does and returns; it does that effectively. However, given the complexity of 'magic' analysis, an agent might need more details on the confidence score scale or recipe format, which are not described. This is adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for the sole parameter 'input' is already 100% clear ('The unknown or obfuscated string...'). The tool description adds general context about what will be detected but not specific format requirements (e.g., length, encoding of input). Since schema coverage is 100%, baseline 3 is appropriate; description adds some value by implying the input is a single string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: heuristic forensic analysis of suspicious or obfuscated strings to detect encodings, hashes, ciphers, and compression. It uses specific verbs ('detects', 'returns') and names the resource (forensic analysis of strings). It distinguishes itself from siblings like cyberchef_from_base64 or cyberchef_analyse_hash by claiming a broader heuristic analysis capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage ('suspicious, unknown, or obfuscated strings') but does not explicitly state when to prefer this over specific conversion tools (e.g., cyberchef_from_base64) or when to use alternatives. It lacks explicit 'when not to use' guidance. This is adequate but not proactive routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_rot13A
Applies the ROT13 substitution cipher or an arbitrary Caesar cipher shift to alphabetic characters while preserving case and non-alphabet symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The text string to rotate using the Caesar/ROT cipher. | |
| amount | No | Optional integer offset count for the rotation. Default is 13 for standard ROT13. Range is typically 1 to 25. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals two important behavioral traits: it preserves case and it preserves non-alphabet symbols. It also signals flexibility with 'arbitrary Caesar cipher shift.' While it omits edge-case behavior (e.g., out-of-range amount) and return format, the stated behaviors add significant transparency beyond a generic 'rotates text'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. It front-loads the main action, then adds the key constraints (case/symbol preservation). Every phrase earns its place, and the length is appropriate for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage, the description is adequate: it states the core operation and preservation behavior. However, it lacks explicit guidance on the return value (though it is strongly implied to be the rotated string) and does not address edge cases such as empty input or invalid 'amount' values. Given the absence of an output schema and annotations, a bit more detail would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description reinforces that 'input' is the text to rotate and 'amount' is the shift offset, but it does not add substantive new meaning beyond what the schema provides. Baseline 3 is appropriate when the schema already handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the operation: 'Applies the ROT13 substitution cipher or an arbitrary Caesar cipher shift to alphabetic characters while preserving case and non-alphabet symbols.' It uses a specific verb ('Applies') and names the exact resource (cipher rotation), making it readily distinguishable from siblings like from_base64 or xor without needing to inspect schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case by naming ROT13 and Caesar cipher shifts, but it does not explicitly state when to prefer this tool over alternatives or provide exclusions. For example, it does not mention that non-alphabetic content is handled gracefully or suggest not using it for binary data. Usage context is implied rather than clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_sha256A
Calculates the cryptographic SHA-256 (Secure Hash Algorithm 256-bit) digest of the input string and returns the resulting 64-character hexadecimal checksum.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The string or payload to hash using SHA-256. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It discloses the output format (64-char hex) but does not mention that the operation is read-only, deterministic, or one-way. For a simple hash function these are implied, but the description could explicitly state no side effects or that it only operates on the given input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action, the algorithm, and the output in that order. Every word adds value with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description is largely complete: it explains what is hashed and the exact output format. It omits edge cases like empty strings or non-ASCII input, but these are minor for a hash function and are not expected to be covered in a concise definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the single parameter 'input' with full coverage, and the description reinforces it by calling it an 'input string.' The description adds no additional syntax, encoding, or formatting details beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Calculates' and the specific resource (SHA-256 digest of the input string), and explicitly notes the output as a 64-character hexadecimal checksum. This unambiguously differentiates it from sibling tools like from_base64 or entropy, which perform entirely different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description does not explicitly say 'use this when you need SHA-256' or exclude alternatives, the purpose is so specific and distinct among siblings that the usage context is clear. There is no competing hash tool in the sibling list, so the guidance is adequate without explicit when/not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_to_base64A
Encodes arbitrary text or byte data into standard RFC 4648 or URL-safe Base64 string representation.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The plaintext string to encode into Base64 format. | |
| urlSafe | No | Optional boolean. Set to true to generate URL-safe Base64 (substitutes '+' with '-' and '/' with '_', omits padding). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral burden. It does disclose the output format and the RFC 4648/URL-safe distinction, which is helpful. It does not mention string encoding assumptions, padding behavior beyond what the schema says, or how byte data is represented, leaving some behavior unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It conveys the core purpose and the main variant in a compact, scannable way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter encoding tool with high schema coverage, the description plus schema is largely sufficient. It signals the output type as a string representation, though a note on input encoding or padding could make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input and urlSafe parameters are already documented in the schema. The description adds a general statement about encoding but does not materially refine the meaning of either parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Encodes') and a clear resource ('Base64 string representation'), and explicitly covers both standard and URL-safe variants. The direction of encoding is unambiguous and naturally distinguishes it from the sibling cyberchef_from_base64.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when Base64 encoding is needed. However, it does not explicitly mention alternatives such as cyberchef_from_base64 or contrast encoding with decoding, so usage routing is left to inference rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_to_hexB
Converts UTF-8 text or character data into its hexadecimal byte representation with optional custom delimiter formatting.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Plaintext string to convert into hex bytes. | |
| delimiter | No | Optional delimiter to insert between hex pairs. Allowed values: 'None' (default, e.g. '48656c6c6f'), 'Space' ('48 65'), '0x' ('0x480x65'), or 'Comma' ('48,65'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the core transformation and optional delimiter formatting. However, it does not mention edge-case behavior like handling of non-ASCII characters or output casing, which are minor but unaddressed for a conversion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no redundant clauses. The core purpose is front-loaded before the delimiter formatting detail, and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple pure-conversion tool, the description plus a fully documented schema are sufficient to invoke it correctly. It lacks sibling-routing and usage guidance, but does not require an output schema to make the return value inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already fully documents both parameters. The description adds little parameter-level meaning beyond stating the conversion target and delimiter behavior, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Converts'), a specific resource ('UTF-8 text or character data'), and the output ('hexadecimal byte representation'). It is distinguishable from reverse/sibling tools like cyberchef_from_hex, though it does not explicitly name any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as cyberchef_from_hex or cyberchef_to_base64. The intended use is implied by the conversion description but no when-to-use or when-not-to-use conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_url_decodeA
Decodes percent-encoded URL query strings and path segments into standard UTF-8 characters, restoring special characters and spaces.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The percent-encoded URL string or parameter to decode (e.g., '%41%64%6d%69%6e' or 'hello+world%21'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds useful behavioral context by specifying output encoding and that it restores special characters and spaces (implying handling of both %20 and +). However, it does not disclose behavior for malformed input, invalid percent sequences, or whether plus is only treated as space in query strings. This partial transparency earns a middle score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence, front-loaded with the verb, and contains no filler or redundant phrasing. Every word contributes to defining the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no annotations and no output schema, the description covers the core purpose and gives a hint about output format (UTF-8). Minor gaps like error handling are acceptable for this complexity, and the input schema already documents the parameter thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the parameter description already includes clear examples ('%41%64%6d%69%6e' or 'hello+world%21') that explain semantics well. The tool description adds no additional parameter information, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('decodes'), a precise object ('percent-encoded URL query strings and path segments'), and the output ('standard UTF-8 characters'). This clearly differentiates it from siblings like cyberchef_url_encode and other decoding tools (from_base64, from_hex) by specifying percent-decoding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the tool name and sibling list (e.g., url_encode), but the description does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or conditions. It provides a clear purpose but no direct guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_url_encodeA
Encodes reserved and unsafe characters in a string into standard percent-encoded format (%XX) for safe transmission in URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | The plaintext string to URL encode. | |
| encodeAll | No | Optional boolean. If true, encodes all characters including alphanumerics into percent format. Default is false (standard RFC 3986 encoding). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It accurately describes the core behavior and standard format, but does not disclose specifics such as which characters are left unencoded, how non-ASCII input is handled, or that the operation is a pure transformation with no side effects. It is adequate for a simple encoding utility but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence. It front-loads the action and output format, contains no filler or redundant wording, and every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple, stateless encoding operation with full schema coverage for its two parameters. The description and schema together are sufficient for an agent to invoke it correctly. Minor gaps like explicitly naming the inverse sibling tool or detailing the reserved character set prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters ('input' and 'encodeAll'). The description adds no additional parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Encodes') and names the exact resource ('reserved and unsafe characters in a string') and output format ('standard percent-encoded format (%XX)'). It clearly distinguishes from the sibling cyberchef_url_decode by identifying the encoding direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context ('for safe transmission in URLs') that implies when to use the tool. However, it does not explicitly say when not to use it, nor does it compare with alternatives like cyberchef_url_decode or cyberchef_defang_url. The usage guidance is reasonable but left mostly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cyberchef_xorA
Applies a bitwise XOR cipher using a repeating key against the input string. Frequently used in malware analysis, shellcode obfuscation, and CTF challenges. Applying XOR twice with the same key restores the original plaintext.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The secret key used for XOR operations. Can be a text string or hex bytes. | |
| input | Yes | The ciphertext or plaintext string to process with bitwise XOR. | |
| keyFormat | No | Optional format of the key string. Allowed values: 'UTF8' (default, ASCII/UTF-8 string key) or 'Hex' (hexadecimal byte key, e.g. '5a' or 'deadbeef'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It clearly explains the algorithm, the repeating-key behavior, and the reversibility property ('Applying XOR twice with the same key restores the original plaintext'). It does not specify output representation or handling of malformed keys, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no filler. The core operation is front-loaded, followed by relevant use cases and an important behavioral property, so every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with fully documented parameters and a clear algorithmic description. Since there is no output schema, a brief note on output format would improve completeness, but the essential information needed to select and invoke the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for input, key, and keyFormat, including enum options, so the baseline is 3. The description's mention of a 'repeating key' adds minor context but does not materially extend the schema's parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation: 'Applies a bitwise XOR cipher using a repeating key against the input string.' It also names concrete use cases (malware analysis, shellcode obfuscation, CTF) and is clearly distinct from all listed sibling transforms, none of which perform XOR.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives implicit usage context by mentioning malware analysis, shellcode obfuscation, and CTF challenges. However, it does not explicitly state when to choose this over alternatives or name any sibling tool that should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
v1.0.2- Changed
cyberchef_analyse_hash1 field changed- changed
Input schema / properties / hash / descriptionPrevious value: -"Hash string to identify"New value: +"The hash digest string to inspect and classify (e.g., a 32-character hex string for MD5, 64-character for SHA-256)."
- Changed
cyberchef_bake4 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"The raw or encoded input string to transform"New value: +"The raw, encoded, or obfuscated input string to process through the transformation pipeline. Can be plain text, hex-encoded bytes, Base64 strings, or URL-encoded parameters." - changed
Input schema / properties / recipe / descriptionPrevious value: -"Array of recipe steps to execute in sequence"New value: +"Ordered array of recipe steps to execute in sequence. Example: [{'op': 'From Base64'}, {'op': 'URL Decode'}]" - changed
Input schema / properties / recipe / items / properties / args / descriptionPrevious value: -"Optional arguments for the operation"New value: +"Optional array of arguments required by the operation (e.g. ['secret'] for XOR key, or [13] for ROT13 offset). If omitted, operation defaults are used." - changed
Input schema / properties / recipe / items / properties / op / descriptionPrevious value: -"Operation name, e.g., 'From Base64', 'URL Decode', 'From Hex'"New value: +"The canonical name of the CyberChef operation to apply. Supported operations include: 'From Base64', 'To Base64', 'From Hex', 'To Hex', 'URL Decode', 'URL Encode', 'XOR', 'ROT13', 'MD5', 'SHA256', 'Defang URL', 'Refang URL', 'Entropy', 'Extract URLs', 'Extract Emails'."
- Changed
cyberchef_defang_url1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"URL to defang"New value: +"The full or partial URL string to defang."
- Changed
cyberchef_entropy1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"Data string or file buffer representation to assess"New value: +"The data string or payload representation to analyze for information density and randomness."
- Changed
cyberchef_extract_entities1 field changed- changed
Input schema / properties / text / descriptionPrevious value: -"Unstructured text to extract entities from"New value: +"The unstructured text, log excerpt, or payload from which to extract forensic artifacts."
- Changed
cyberchef_from_base642 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"Base64 string to decode"New value: +"The Base64 encoded string to decode (e.g., 'SGVsbG8gV29ybGQ=')." - changed
Input schema / properties / urlSafe / descriptionPrevious value: -"Set true if URL-safe Base64 (- and _ characters)"New value: +"Optional boolean. Set to true if the input uses URL-safe Base64 encoding with '-' and '_' instead of '+' and '/'."
- Changed
cyberchef_from_hex2 fields changed- changed
Input schema / properties / delimiter / descriptionPrevious value: -"Delimiter between hex bytes"New value: +"Optional delimiter used between hex bytes. Allowed values: 'None' (default, contiguous hex), 'Space' ('48 65'), '0x' ('0x480x65'), or 'Comma' ('48,65')." - changed
Input schema / properties / input / descriptionPrevious value: -"Hex string (e.g. '48656c6c6f' or '48 65 6c 6c 6f' or '0x480x65')"New value: +"Hexadecimal string to decode (e.g., '48656c6c6f', '48 65 6c 6c 6f', or '0x480x650x6c0x6c0x6f')."
- Changed
cyberchef_help1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"Search term like 'hash', 'base64', 'aes', 'forensics', or leave empty for full catalog"New value: +"Optional search term to filter operations (e.g., 'base64', 'hex', 'hash', 'xor', 'jwt', 'forensics'). If omitted or empty, returns the full catalog."
- Changed
cyberchef_jwt_decode1 field changed- changed
Input schema / properties / token / descriptionPrevious value: -"Full JWT token (header.payload.signature)"New value: +"The complete encoded JSON Web Token in standard 'header.payload.signature' dot-separated format."
- Changed
cyberchef_magic1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"Suspicious, obfuscated, or encoded payload to analyze"New value: +"The unknown or obfuscated string, token, or payload to inspect and analyze."
- Changed
cyberchef_rot132 fields changed- changed
Input schema / properties / amount / descriptionPrevious value: -"Offset count (default 13)"New value: +"Optional integer offset count for the rotation. Default is 13 for standard ROT13. Range is typically 1 to 25." - changed
Input schema / properties / input / descriptionPrevious value: -"Text to rotate"New value: +"The text string to rotate using the Caesar/ROT cipher."
- Changed
cyberchef_sha2561 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"Data to hash"New value: +"The string or payload to hash using SHA-256."
- Changed
cyberchef_to_base642 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"Plaintext string to encode"New value: +"The plaintext string to encode into Base64 format." - changed
Input schema / properties / urlSafe / descriptionPrevious value: -"Produce URL-safe Base64 format"New value: +"Optional boolean. Set to true to generate URL-safe Base64 (substitutes '+' with '-' and '/' with '_', omits padding)."
- Added
cyberchef_to_hex - Changed
cyberchef_url_decode1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"URL-encoded string"New value: +"The percent-encoded URL string or parameter to decode (e.g., '%41%64%6d%69%6e' or 'hello+world%21')."
- Changed
cyberchef_url_encode2 fields changed- changed
Input schema / properties / encodeAll / descriptionPrevious value: -"Encode all characters including alphanumerics"New value: +"Optional boolean. If true, encodes all characters including alphanumerics into percent format. Default is false (standard RFC 3986 encoding)." - changed
Input schema / properties / input / descriptionPrevious value: -"Raw string to encode"New value: +"The plaintext string to URL encode."
- Changed
cyberchef_xor3 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"Ciphertext or plaintext"New value: +"The ciphertext or plaintext string to process with bitwise XOR." - changed
Input schema / properties / key / descriptionPrevious value: -"Secret key for XOR"New value: +"The secret key used for XOR operations. Can be a text string or hex bytes." - changed
Input schema / properties / keyFormat / descriptionPrevious value: -"Format of key string"New value: +"Optional format of the key string. Allowed values: 'UTF8' (default, ASCII/UTF-8 string key) or 'Hex' (hexadecimal byte key, e.g. '5a' or 'deadbeef')."
16 tool updates
v1.0.1- First observed
cyberchef_analyse_hash - First observed
cyberchef_bake - First observed
cyberchef_defang_url - First observed
cyberchef_entropy - First observed
cyberchef_extract_entities - First observed
cyberchef_from_base64 - First observed
cyberchef_from_hex - First observed
cyberchef_help - First observed
cyberchef_jwt_decode - First observed
cyberchef_magic - First observed
cyberchef_rot13 - First observed
cyberchef_sha256 - First observed
cyberchef_to_base64 - First observed
cyberchef_url_decode - First observed
cyberchef_url_encode - First observed
cyberchef_xor
TDQS
Scored across 17 tools
Most tools target distinct operations (base64, hex, URL, ROT13, XOR) with clear separation. General tools like cyberchef_bake and cyberchef_magic could be confused, but their descriptions clarify that bake executes a recipe while magic analyzes and recommends. Minor overlap between specific converters and bake, but overall distinguishable.
All tools share the 'cyberchef_' prefix and use lowercase snake_case. Most follow an action_noun pattern (from_base64, to_hex, url_decode), though some simpler verbs like 'bake', 'magic', and 'help' lack explicit nouns. Consistent enough for agents to predict naming.
With 17 tools, the set is slightly larger than ideal but still well-scoped for a cyber security analysis server. The tools cover a reasonable breadth of operations without being overwhelming. The count includes both specific converters and higher-level utilities, each justified by its purpose.
The server covers common encoding/decoding, hashing, analysis, and entity extraction, supporting typical deobfuscation workflows. Missing features like compression or AES encryption are notable but can be worked around via the generic bake tool. No critical dead ends for core forensic tasks.
Maintenance
Related MCP Connectors
MCP tools for agents: web research, content extraction, email, DNS, and blockchain intelligence.
111OCR, transcription, file extraction, and image generation for AI agents via MCP.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Hyperion — MCP tool marketplace for AI agents: web, OSINT, security, research via one key.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to discover, execute, and validate CyberChef operations for data encoding, decoding, encryption, and transformation tasks. Provides structured access to CyberChef's extensive catalog of data manipulation tools through natural language interactions.-
- AlicenseBqualityAmaintenanceGCHQ CyberChef's 504 data-transformation operations as MCP tools — encryption, encoding, compression and forensics — w/ 19 analysis tools for work a single operation cannot express, such as: hash identification, RSA and ECDSA attacks, XOR key-length recovery, cipher solving, X.509 chain validation and NIST post-quantum identification (ML-KEM/ML-DSA/SLH-DSA).823174 npm19GPL 3.0
- AlicenseBqualityDmaintenanceEnables LLM clients to encode, decode, and transform data using CyberChef operations via an MCP server that interfaces with the CyberChef API.344MIT
- FlicenseAqualityCmaintenanceEnables AI assistants to perform defensive security tasks such as vulnerability detection, CVE lookup, phishing/link safety checks, and security report generation via MCP tools.23-