An MCP server enabling LLMs to encrypt/decrypt messages using historically accurate Enigma machine emulators.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Enigma Python MCP.
encrypt_messageEncrypt or decrypt a message using a specified Enigma machine configuration. Args: machine_model: Exact machine model name. MUST be one of: 'M3', 'M4', 'I', 'I_Norway', 'I_Sondermaschine', 'K', 'K_Swiss', 'D', 'Z', 'B_A133', 'T'. Do not add 'Enigma' prefix. Supported models and their explicitly required reflectors: - 'M3', 'I': UKWA, UKWB, UKWC - 'M4': UKWBThin, UKWCThin - 'I_Norway': UKW_EnigmaINorway - 'I_Sondermaschine': UKW_EnigmaISonder - 'K', 'K_Swiss', 'D': UKW_EnigmaCommercial - 'Z': UKW_EnigmaZ - 'B_A133': UKW_EnigmaB_A133 - 'T': UKW_EnigmaT message: The plaintext or ciphertext to process. - For Enigma Z: MUST contain ONLY digits (1234567890). - For Enigma B_A133: MUST contain ONLY Swedish letters (abcdefghijklmnopqrstuvxyzรฅรครถ). Note: 'w' is strictly forbidden. - For all other machines: MUST contain ONLY standard letters (A-Z). - Spaces, punctuation, and special characters are strictly forbidden in all machines. rotors: List of RotorConfig objects. MUST be ordered exactly as: [Fastest/Rightmost, Middle, Slowest/Leftmost, Greek (if M4)]. reflector: The ReflectorConfig object. plugboard_pairs: Optional dict for plugboard connections (e.g. {"A": "B", "C": "D"}). Ignored if the machine has no plugboard.
An MCP (Model Context Protocol) server that brings the capabilities of the enigmapython library to LLMs, allowing them to encrypt and decrypt messages using historically accurate Enigma machine emulators.

This MCP Server is listed on Glama.ai with this score
stdio transport for local MCP integrations (like Claude Desktop) and sse transport to expose the tools over a network.encrypt_messageEncrypt or decrypt a message using a configured Enigma machine.
Arguments:
machine_model (str): Model name. Supported: 'M3', 'M4', 'I', 'I_Norway', 'I_Sondermaschine', 'K', 'K_Swiss', 'D', 'Z', 'B_A133', 'T'.message (str): The plaintext or ciphertext to process.rotors (list[object]): List of RotorConfig objects. Each object specifies rotor_type (str), ring_setting (int, default=0), and initial_position (int | str, default=0). IMPORTANT: The list MUST be ordered exactly as: [Fastest/Rightmost, Middle, Slowest/Leftmost, Greek (if M4)].reflector (object): A ReflectorConfig object specifying reflector_type (str), and optionally ring_setting (int) and initial_position (int | str) for rotating reflectors.plugboard_pairs (dict, optional): Dictionary mapping plugboard connections (e.g., {"A": "B", "C": "D"}).Requires Python 3.11+.
Install the package from PyPI:
(Alternatively, you can just run uvx enigmapython-mcp if you have uv installed!)
Run via stdio (for local MCP client):
Run via SSE (exposing over network):
Build the container:
Run via stdio (default):
Run via SSE:
We provide two distinct mcpb bundles for 1-click installation on Claude Desktop. Simply download your preferred bundle from the GitHub Releases page and drag-and-drop it into Claude Desktop's Extensions menu:
enigmapython-mcp-docker.mcpb: Extremely lightweight, relies on your local Docker daemon to run the server in an isolated container. (Recommended)enigmapython-mcp-python.mcpb: Contains the full Python source. Claude Desktop will natively build a virtual environment and run the server without needing Docker.If you prefer manual configuration via claude_desktop_config.json, use the settings below:
(Note: Make sure you have built the Docker image first: docker build -t enigmapython-mcp .)
To use this server with OpenCode, add the following to your ~/.config/opencode/opencode.json (global) or opencode.json (project-level) under the mcp section:
(Note: Make sure you have built the Docker image first: docker build -t enigmapython-mcp .)
Once the server is configured, you can test it by sending the following prompts to your LLM:
Example 1: Basic Encryption (Enigma M3)
"I need to encrypt the message 'TOPSECRET' using an Enigma M3. The rotors, ordered from fastest to slowest, are III, II, and I. All starting at position 0 with ring settings at 0. Use reflector 'UKWB' and no plugboard. What is the ciphertext?"
Example 2: Historical Decryption (Enigma I)
"Decrypt this 1930 Enigma I message. The ciphertext is 'GCDSEAHUGWTQGRK'. The machine settings, strictly ordered from Fastest to Slowest, are: Rotors III, I, and II. Their respective ring settings are 21, 12, and 23. Their initial positions are 11, 1, and 0. The reflector is 'UKWA'. The plugboard swaps are: A/M, F/I, N/V, P/S, T/U, W/Z."
Example 3: Complex M4 Configuration
"Use the Enigma M4 to encrypt the message 'DIVE DIVE DIVE'. The machine uses the 'UKWBThin' reflector. The rotors, explicitly ordered as [Fastest, Middle, Slowest, Greek], are: VIII (pos 2), III (pos 6), IV (pos 12), and Gamma (pos 21). All ring settings are 0. Please process this."
A comprehensive test suite is included in tests/test_server.py. It tests the encryption and decryption reversibility for all 10 supported Enigma models.
To run the tests:
Because the Model Context Protocol requires a stateful initialization handshake before any tools can be called, manually testing the SSE endpoint with curl is quite complex.
The easiest and officially recommended way to test the server is using the MCP Inspector:
http://localhost:5173).http://localhost:8000/sse as the URL and click Connect.encrypt_message tool!Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/denismaggior8-enigma-python-mcp)<a href="https://allmcps.com/mcp/denismaggior8-enigma-python-mcp"><img src="https://allmcps.com/api/badge/denismaggior8-enigma-python-mcp?style=directory" alt="Enigma Python MCP on AllMCPs" /></a>