Sign inSign up

hackerdogs/hashcat-mcp

By hackerdogs

Updated 3 months ago

Hashcat MCP Server

Image
0

261

hackerdogs/hashcat-mcp repository overview

Hackerdogs
hackerdogs

Hashcat MCP Server

MCP server wrapper for Hashcat — GPU-accelerated password recovery.

What is Hashcat?

Hashcat (hashcat) is a security tool that provides: GPU-accelerated password recovery.

See hashcat/hashcat for full documentation.

No API keys required — Hashcat runs locally inside the Docker container.

Summary. MCP server wrapper for Hashcat — GPU-accelerated password recovery.

Tools:

  • run_hashcat — Run hashcat with the given arguments. Returns structured JSON output.
  • download_file — Download a file or repository from a URL into the container workspace. Use this to pre-download content before running multiple analyses on the same data.
  • cleanup_downloads — Remove downloaded files from the container workspace.

Tools Reference

run_hashcat

Run hashcat with the given arguments. Returns structured JSON output.

ParameterTypeRequiredDefaultDescription
argumentsstringYesCommand-line arguments (e.g. "--help")
source_urlstringNo""URL to download files into the container before running. Supports HTTP(S) files, archives (auto-extracted), and GitHub/GitLab repo URLs. Use {source} in arguments as a placeholder for the downloaded path.
timeout_secondsintegerNo600Maximum execution time in seconds
Example response
{
  "raw": "hashcat output will appear here"
}
download_file

Download a file or repository from a URL into the container workspace. Use this to pre-download content before running multiple analyses on the same data.

ParameterTypeRequiredDefaultDescription
urlstringYesHTTP(S) URL, GitHub/GitLab repo URL, or data: URI
extractbooleanNotrueAuto-extract archives (.zip, .tar.gz, etc.)

Returns JSON with path (local file path to use in other tools) and job_id (for cleanup).

cleanup_downloads

Remove downloaded files from the container workspace.

ParameterTypeRequiredDefaultDescription
job_idstringNo""Specific job ID to clean up. If empty, removes all downloads

Example Prompts

Here are example prompts you can use with Claude (or any MCP client) when this tool is connected:

  • "Run hashcat with --help to see all available options."
  • "Use hashcat to scan the target 192.168.1.1."
  • "What options does hashcat support? Show me its help output."
  • "Run hashcat against example.com with default settings."
  • "Execute hashcat with verbose output enabled."
  • "Use the hashcat tool to analyze the target and report findings."

URL-based ingestion (no volume mounts needed):

Deploy

docker-compose up -d
Docker Run (stdio mode)
docker run -i --rm hackerdogs/hashcat-mcp:latest
Docker Run (HTTP streamable mode)
docker run -d -p 8235:8235 \
  -e MCP_TRANSPORT=streamable-http \
  -e MCP_PORT=8235 \
  hackerdogs/hashcat-mcp:latest

MCP Client Configuration

Stdio mode (default)

Add to your Claude Desktop or Cursor MCP config:

{
  "mcpServers": {
    "hashcat-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT", "hackerdogs/hashcat-mcp:latest"],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}
HTTP mode (streamable-http)

First, start the server using Docker Compose or docker run with HTTP mode (see Deploy above), then point your MCP client at the running server:

{
  "mcpServers": {
    "hashcat-mcp": {
      "url": "http://localhost:8235/mcp"
    }
  }
}

When to use HTTP mode: HTTP mode is ideal for shared/remote deployments, multi-user setups, and Hackerdogs scheduled prompts. The server runs as a long-lived process and accepts connections from multiple MCP clients concurrently.

Environment Variables

VariableDefaultDescription
MCP_TRANSPORTstdioTransport mode: stdio or streamable-http
MCP_PORT8235HTTP port (only used with streamable-http)
HD_MAX_DOWNLOAD_MB500Max file download size in MB (URL fetch)
HD_FETCH_TIMEOUT120Download timeout in seconds (URL fetch)

Installing in Hackerdogs

The fastest way to get started is through Hackerdogs:

  1. Log in to your Hackerdogs account.
  2. Go to the Tools Catalog.
  3. Search for the tool by name (e.g. "nuclei", "naabu", "julius").
  4. Expand the tool card and click Install — you're ready to go.

Give it a couple of minutes to go live. Then start querying by asking Hackerdogs to use the tool explicitly (e.g. "Use naabu to scan example.com"). If you don't specify, Hackerdogs will automatically choose the best tool for the job — it may choose this one on its own.

  1. Vendor API key required? Add your key in the config environment variable field before clicking Install. Your key will be encrypted at rest.
  2. Enable / Disable the tool anytime from the Enabled Tools page.
  3. Need to update a key or parameter? Go to My Tools → toggle Show Decrypted Values → edit → Save.

Want to contribute or chat with the team? Join our Discord.

Build

docker build -t hackerdogs/hashcat-mcp:latest .

Testing

Automated tests
./test.sh
Test directly with Docker

1. Start the server in HTTP mode:

docker run -d --rm --name hashcat-mcp-test -p 8235:8235 \
  -e MCP_TRANSPORT=streamable-http \
  hackerdogs/hashcat-mcp:latest

2. Initialize the MCP session:

SESSION_ID=$(curl -s -D - -X POST http://localhost:8235/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' \
  2>&1 | grep -i mcp-session-id | awk '{print $2}' | tr -d '\r\n')

curl -s -X POST http://localhost:8235/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: $SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'

3. Call a tool:

curl -s -X POST http://localhost:8235/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: $SESSION_ID" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"run_hashcat","arguments":{"arguments":"--help"}}}'

4. Clean up:

docker stop hashcat-mcp-test

Running the tool directly (bypassing MCP)

You can run the hashcat CLI in the same container by overriding the entrypoint to crack hashes (mount wordlists/hashes) without starting the MCP server.

Show hash types:

docker run -i --rm --entrypoint hashcat hackerdogs/hashcat-mcp:latest --help

Example crack:

docker run -i --rm --entrypoint hashcat hackerdogs/hashcat-mcp:latest -m 0 -a 0 hashes.txt wordlist.txt

Tag summary

Content type

Image

Digest

sha256:0deaa8cfc

Size

275.6 MB

Last updated

3 months ago

docker pull hackerdogs/hashcat-mcp