Skip to main content
Glama
Jambozx

OnlineCyberTools MCP (280+ filterable tools)

by Jambozx

crypto_hash_identifier

Read-onlyIdempotent

Identify the hash algorithm type (MD5, SHA-256, bcrypt, etc.) by analyzing its length, character set, and pattern. No cracking or external lookups.

Instructions

Hash Type Identifier. Identify which hash algorithm most likely produced a digest by analysing its length, character set, and structural pattern (MD5, SHA-1, SHA-256/384/512, SHA-3, NTLM, LM, bcrypt, Argon2, scrypt, PBKDF2, Unix crypt, MySQL, PostgreSQL, LDAP, CRC, and more). Use this when you have a hash and do not know its type. It does not crack, reverse, or look up the hash anywhere: it only classifies the string. After identifying the type, use crypto_hash_cracker to attempt plaintext recovery via a wordlist, or crypto_hash to generate a fresh hash of known input. Runs locally on the value you provide: read-only, non-destructive, contacts no external service, idempotent, and rate-limited (60 requests per minute for anonymous callers). Returns the ranked candidate algorithms with confidence scores, the most likely match, the cleaned hash, its length, and a character set analysis.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hashYesThe hash string to identify. Must not be blank. Common prefixes (0x), salts, and separators are stripped before length analysis; special formats such as bcrypt or Unix crypt are recognised by their full marker.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputNoThe original hash string as submitted, trimmed.
cleaned_hashNoThe hash after stripping prefixes, separators, and salt, used for length and charset analysis.
lengthNoCharacter length of the cleaned hash.
character_setNoDetected character composition of the hash.
possible_algorithmsNoCandidate algorithms matching the length and charset, sorted by descending confidence.
most_likelyNoThe highest-confidence candidate, or null when no algorithm matches.
additional_infoNoOptional notes such as detected salt, mixed case, or unusual length.
confidenceNoOverall confidence summary for the identification.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.5.1
    • changedInput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / properties
      Added value: +{
      +  "hash": {
      +    "description": "The hash string to identify. Must not be blank. Common prefixes (0x), salts, and separators are stripped before length analysis; special formats such as bcrypt or Unix crypt are recognised by their full marker.",
      +    "minLength": 1,
      +    "type": "string"
      +  }
      +}
    • addedInput schema / required
      Added value: +[
      +  "hash"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "additional_info": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "description": "Optional notes such as detected salt, mixed case, or unusual length.",
      +      "type": "object"
      +    },
      +    "character_set": {
      +      "description": "Detected character composition of the hash.",
      +      "properties": {
      +        "primary": {
      +          "description": "Dominant character class (hex_lower, hex_upper, hex_mixed, base64, base58, numeric, alphanumeric, or unknown).",
      +          "type": "string"
      +        },
      +        "sets": {
      +          "additionalProperties": {
      +            "type": "boolean"
      +          },
      +          "description": "Boolean flags for each tested character class (hex_lower, hex_upper, hex_mixed, base64, base58, numeric, alphanumeric, has_special).",
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "cleaned_hash": {
      +      "description": "The hash after stripping prefixes, separators, and salt, used for length and charset analysis.",
      +      "type": "string"
      +    },
      +    "confidence": {
      +      "description": "Overall confidence summary for the identification.",
      +      "properties": {
      +        "factors": {
      +          "description": "Factors that raised or lowered confidence.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "match_count": {
      +          "description": "Number of candidate algorithms found.",
      +          "type": "integer"
      +        },
      +        "overall": {
      +          "description": "Overall confidence score (0 to 100).",
      +          "type": "integer"
      +        },
      +        "reasoning": {
      +          "description": "Explanation present only when no algorithm matched.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "input": {
      +      "description": "The original hash string as submitted, trimmed.",
      +      "type": "string"
      +    },
      +    "length": {
      +      "description": "Character length of the cleaned hash.",
      +      "type": "integer"
      +    },
      +    "most_likely": {
      +      "description": "The highest-confidence candidate, or null when no algorithm matches.",
      +      "properties": {
      +        "charset": {
      +          "description": "Character classes consistent with the top candidate.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "confidence": {
      +          "description": "Confidence score of the top candidate (0 to 100).",
      +          "type": "integer"
      +        },
      +        "description": {
      +          "description": "Short note about the top candidate.",
      +          "type": "string"
      +        },
      +        "name": {
      +          "description": "Algorithm name of the top candidate.",
      +          "type": "string"
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "possible_algorithms": {
      +      "description": "Candidate algorithms matching the length and charset, sorted by descending confidence.",
      +      "items": {
      +        "properties": {
      +          "charset": {
      +            "description": "Character classes consistent with this algorithm.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "confidence": {
      +            "description": "Heuristic confidence for this candidate (0 to 100).",
      +            "type": "integer"
      +          },
      +          "description": {
      +            "description": "Short human-readable note about the algorithm.",
      +            "type": "string"
      +          },
      +          "name": {
      +            "description": "Algorithm name (for example MD5, SHA-256, NTLM, bcrypt).",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Description adds behavioral context beyond annotations: runs locally, read-only, non-destructive, idempotent, rate-limited (60 req/min), contacts no external service. No contradictions with annotations.

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

Conciseness4/5

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

Description is well-structured and front-loaded with the main purpose. It is slightly verbose but every sentence adds value. Could be slightly more concise, but overall efficient.

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?

Given the output schema existence, the description is complete. It covers rate limits, idempotency, local operation, and return content (ranked candidates, confidence scores, etc.). No gaps.

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?

Only one parameter 'hash' with 100% schema description coverage. The schema already explains stripping prefixes and recognizing special formats. Description does not add significant new semantics beyond what schema provides.

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 clearly states the tool identifies hash algorithms by analyzing length, character set, and structural pattern, listing many specific algorithms. It explicitly distinguishes from sibling tools like crypto_hash_cracker and crypto_hash.

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

Usage Guidelines5/5

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

The description gives explicit usage guidance: 'Use this when you have a hash and do not know its type.' It also specifies what the tool does not do (crack, reverse, lookup) and directs to crypto_hash_cracker for plaintext recovery.

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

Deploy Server

Other Tools