Skip to main content
Glama
john-the-ripper-mcp

john-the-ripper-mcp

by schwarztim

John the Ripper MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with access to John the Ripper, the legendary password security auditing and recovery tool. This server executes commands on a remote Kali Linux system via SSH, enabling secure password analysis workflows.

Features

  • Password Cracking - Multiple attack modes: wordlist, incremental, single crack, and rules-based

  • Hash Management - Show cracked passwords, manage pot files, identify hash types

  • Session Control - Create, monitor, restore, and terminate cracking sessions

  • Hash Extraction - Extract hashes from encrypted files (ZIP, PDF, SSH keys, Office docs, etc.)

  • Benchmarking - Test cracking performance for different hash formats

  • Rules Engine - List and test password mangling rules

Related MCP server: K-MCP: Kali Model Context Protocol Server

Installation

# Clone the repository
git clone https://github.com/schwarztim/sec-john-the-ripper-mcp.git
cd sec-john-the-ripper-mcp

# Install dependencies
npm install

# Build
npm run build

Configuration

The server connects to a remote Kali Linux system via SSH. Configure via environment variables:

Variable

Description

Default

JOHN_SSH_HOST

SSH hostname or IP of Kali system

kali

JOHN_SSH_USER

SSH username (optional)

(none)

JOHN_PATH

Path to john binary on remote system

john

JOHN_WORK_DIR

Remote working directory for temp files

/tmp/john-mcp

Prerequisites

  1. SSH Access - Passwordless SSH key authentication to your Kali system

  2. John the Ripper - Installed on the remote Kali system (apt install john)

  3. Node.js - Version 18+ recommended

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "john-the-ripper": {
      "command": "node",
      "args": ["/path/to/sec-john-the-ripper-mcp/dist/index.js"],
      "env": {
        "JOHN_SSH_HOST": "your-kali-host",
        "JOHN_SSH_USER": "kali"
      }
    }
  }
}

Available Tools

Cracking Operations

Tool

Description

john_crack

Start password cracking with configurable modes and options

john_show

Display cracked passwords from hash files

john_status

Check the status of running sessions

john_restore

Resume an interrupted cracking session

john_sessions

List all active and saved sessions

john_kill

Terminate running John processes

Hash Analysis

Tool

Description

john_identify

Identify hash type(s) for given values

john_formats

List supported hash formats with optional filtering

john_hash_extract

Extract hashes from encrypted files using *2john utilities

Configuration & Testing

Tool

Description

john_rules

List available rules or test rules against sample words

john_benchmark

Run performance benchmarks for hash formats

john_pot

Manage the john.pot file (show, clear, export, search)

Usage Examples

Crack MD5 Hashes with Wordlist

Use john_crack with:
- hash_content: "5f4dcc3b5aa765d61d8327deb882cf99"
- format: "raw-md5"
- wordlist: "/usr/share/wordlists/rockyou.txt"

Identify Unknown Hash

Use john_identify with:
- hash: "$2a$10$N9qo8uLOickgx2ZMRZoMy..."

Extract Hash from ZIP File

Use john_hash_extract with:
- type: "zip"
- file_path: "/path/to/encrypted.zip"

Check Cracking Progress

Use john_status with:
- session: "my-crack-session"

Supported Hash Extraction Types

  • zip - ZIP archives

  • rar - RAR archives

  • pdf - PDF documents

  • ssh - SSH private keys

  • gpg - GPG/PGP keys

  • office - Microsoft Office documents

  • keepass - KeePass databases

  • 7z - 7-Zip archives

  • bitlocker - BitLocker volumes

  • luks - LUKS encrypted volumes

  • truecrypt / veracrypt - TrueCrypt/VeraCrypt volumes

  • ethereum / bitcoin - Cryptocurrency wallets

Security Considerations

This tool is intended for authorized security testing only. Ensure you have proper authorization before:

  • Testing password strength on systems you own or administer

  • Conducting penetration tests with written permission

  • Recovering passwords for files you have legitimate access to

Unauthorized password cracking is illegal. Always follow your organization's security policies and applicable laws.

License

MIT License - See LICENSE for details.

Contributing

Contributions welcome! Please open an issue or submit a pull request.

Credits

Available Tools

12 tools
john_benchmarkA

Run benchmarks to test cracking speed for different hash types

Inputs: format, duration.

john_crackA

Start password cracking with John the Ripper. Supports various modes including wordlist, incremental, and single crack.

Inputs: fork, rules, format, session, +5 more.

john_formatsA

List all supported hash formats. Can filter by keyword.

Inputs: filter, details.

john_hash_extractA

Extract hashes from various file types using John's *2john utilities

Inputs: type (required), file_path (required).

john_identifyB

Identify the hash type(s) for given hash values

Inputs: hash, hash_file.

john_killB

Kill a running John the Ripper process or session

Inputs: all, session.

john_potC

Manage the john.pot file containing cracked passwords

Inputs: action (required), search.

john_restoreA

Restore and continue an interrupted cracking session

Inputs: session.

john_rulesB

List available mangling rules or test rules against words

Inputs: list, test_rules, test_words.

john_sessionsA

List all active and saved John the Ripper sessions

Inputs: no named parameters.

john_showC

Show cracked passwords from a hash file or pot file

Inputs: format, hash_file, show_left, hash_content.

john_statusB

Check the status of a cracking session

Inputs: session.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 12 tools

    Disambiguation4/5

    Most tools have distinct purposes, but john_status and john_sessions could overlap since both deal with session information, and john_show and john_pot both relate to cracked passwords. However, descriptions clarify the specific roles, so confusion is minimal.

    Naming Consistency5/5

    All tool names follow a consistent john_ prefix followed by a verb-noun combination (e.g., john_crack, john_show, john_hash_extract). The snake_case style is uniform, making the naming predictable and readable.

    Tool Count5/5

    12 tools is well within the ideal range for a specialized utility. Each tool addresses a distinct aspect of John the Ripper's workflow, and there is no bloat or unnecessary duplication.

    Completeness5/5

    The tool set covers the full lifecycle of password cracking: hash extraction, identification, format listing, cracking, monitoring/restoring, showing results, pot management, benchmarking, rules, and session control. No obvious gaps for the domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to execute penetration testing commands and security tools on Kali Linux remotely. Supports automated reconnaissance, vulnerability scanning, and CTF solving through integration with 25+ offensive security tools like nmap, gobuster, and nuclei.
      16
      -
    • A
      license
      A
      quality
      F
      maintenance
      Enables AI assistants to perform authorized WiFi security assessments, including network scanning, handshake capture, and password cracking, by executing aircrack-ng commands on a remote Kali Linux system via SSH.
      16
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI to execute commands on remote hosts via SSH, supporting password and key authentication.
      -