MCPcopy
hub / github.com/sc0tfree/mentalist

github.com/sc0tfree/mentalist @v2.0.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.0.0 ↗
227 symbols 694 edges 18 files 108 documented · 48%
README

Version 2.0 Python 3.11+ MIT License sc0tfree Twitter

Mentalist

Mentalist Logo

Mentalist is a graphical tool for custom wordlist generation. It utilizes common human paradigms for constructing passwords and can output the full wordlist as well as rules compatible with Hashcat and John the Ripper.

For more information on installing and using Mentalist, please visit the wiki.

Mentalist GUI Demo

Prebuilt executables are available for v1.0 (Python 3.6-3.10 only). For v2.0+ with Python 3.11+ support, use Poetry or pip installation below.

Installation

IMPORTANT: Version 2.0+ requires Python 3.11 or higher. If you need to use an older Python version, please use Mentalist v1.0.

Using Poetry (Recommended)

# Install Poetry if you haven't already
curl -sSL https://install.python-poetry.org | python3 -

# Clone and install Mentalist
git clone https://github.com/sc0tfree/mentalist.git
cd mentalist
poetry install

# Run Mentalist
poetry run mentalist

Using pip

# Clone the repository
git clone https://github.com/sc0tfree/mentalist.git
cd mentalist

# Install Mentalist
pip install .

# Run Mentalist
python -m mentalist

Development

# Install with Poetry
poetry install

# Run tests
poetry run pytest

# Build distribution packages
poetry build

Building Standalone Executable

You can create a standalone executable using PyInstaller:

# Install PyInstaller (add to dev dependencies)
poetry add --group dev pyinstaller

# Build the executable
poetry run pyinstaller mentalist.spec

# The executable will be in the dist/ directory

Disclaimer

Mentalist should be used only for informational purposes or on authorized system audits. Do not use this tool to aid in illicit access to a system.

License and Contributions

Mentalist is under the MIT License.

Contributions are always welcomed! Please let me know if there's a specific piece of functionality that you'd like to see built-in to the next version of Mentalist.

Thanks

A special thanks to Craig Baker, who was instrumental in helping to develop the backend logic of Mentalist. Additionally, thank you to Shane Carlyon, whose Tkinter-fu was invaluable, and to Gregory Brewer, who contributed the artwork to this project.

Note on ‘Slang and Expletives’ List

I apologize to anyone offended by the built-in list of Slang & Expletives, compiled from a variety of sources. The reality is that some people use truly heinous words for their credentials and this list is meant to help crack them.

Future Work

  • Ability to scrape sites as an attribute in the Base Words node.
  • Add dictionaries and lists for more languages
  • Add UK post codes to Append/Prepend Nodes
  • Option to perform de-duplication of Base Words
  • Mentalist Chain file differencing

Core symbols most depended-on inside this repo

add_attr
called by 41
mentalist/model.py
add_node
called by 34
mentalist/model.py
count_words
called by 22
mentalist/model.py
get_words
called by 20
mentalist/model.py
check_hashcat_compatible
called by 17
mentalist/model.py
count_bytes
called by 16
mentalist/model.py
showerror
called by 14
mentalist/view/main.py
get_rules
called by 11
mentalist/model.py

Shape

Method 191
Class 30
Function 6

Languages

Python100%

Modules by API surface

mentalist/model.py97 symbols
tests/test_model.py28 symbols
mentalist/view/main.py27 symbols
mentalist/controller.py19 symbols
mentalist/view/base_words.py15 symbols
mentalist/view/base.py12 symbols
mentalist/view/adder.py11 symbols
mentalist/view/substitution.py6 symbols
mentalist/view/scrollable_frame.py6 symbols
mentalist/view/case.py6 symbols

For agents

$ claude mcp add mentalist \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact