Skip to main content

Parseltongue MCP Server 🐍

A Model Context Protocol (MCP) server providing 40+ text encoding, cipher, and transformation tools inspired by P4RS3LT0NGV3.

Features

📦 Basic Encodings (22 tools)

  • Base64: Encode/decode Base64
  • Base64URL: Encode/decode Base64 URL-safe format
  • Base32: Encode/decode Base32
  • Base58: Encode/decode Base58 (Bitcoin-style)
  • Base62: Encode/decode Base62
  • Base45: Encode/decode Base45
  • ASCII85: Encode/decode ASCII85
  • Hexadecimal: Encode/decode hex
  • Binary: Encode/decode 8-bit binary
  • URL Encoding: Percent encoding for URLs
  • HTML Entities: Encode/decode HTML entities

🔐 Ciphers (8 tools)

  • ROT13: Classic rotation cipher (encode/decode)
  • Caesar Cipher: Custom shift cipher (encode/decode)
  • Atbash: Reverse alphabet substitution (encode/decode)
  • Morse Code: Encode/decode to Morse code

🎨 Unicode Transformations (6 tools)

  • Zalgo Text: Glitch effect with combining marks
  • Upside Down: Flip text using Unicode
  • Bubble Text: Circle-enclosed letters (Ⓐⓑⓒ)
  • Full Width: Vaporwave aesthetic (full width)
  • Strikethrough: S̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h̶
  • Underline: U̲n̲d̲e̲r̲l̲i̲n̲e̲d̲

🕵️ Steganography (3 tools)

  • Zero-Width Encoding: Hide text using invisible Unicode characters (encode/decode)
  • Invisible Ink: Hide messages within cover text

🔧 Utilities (2 tools)

  • Reverse Text: Simple string reversal
  • Pig Latin: Classic word game transformation

Installation

# Clone the repository
git clone <your-repo-url>
cd parseltongue_mcp

# Install dependencies using uv
uv sync

# Or using pip
pip install -e .

Usage

As an MCP Server

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "parseltongue": {
      "command": "uv",
      "args": [
        "--directory",
        "(Full path)/parseltongue_mcp",
        "run",
        "parseltongue-mcp"
      ]
    }
  }
}

Running Directly

# Using uv
uv run parseltongue-mcp

# Or with python
python main.py

Available Tools

Encoding Examples

# Base64
encode_base64(text="Hello World")
# Returns: "SGVsbG8gV29ybGQ="

# Base64URL (URL-safe)
encode_base64url(text="Hello World")
# Returns: "SGVsbG8gV29ybGQ="

# Base58 (Bitcoin-style)
encode_base58(text="Hello")
# Returns: "9Ajdvzr"

# Base62
encode_base62(text="Hello")
# Returns: "5TP3P3v"

# Base45
encode_base45(text="Hello")
# Returns: "JBSWY3DP"

# ASCII85
encode_ascii85(text="Hello")
# Returns: "87cURD]i"

# Morse Code
encode_morse(text="SOS")
# Returns: "... --- ..."

# Binary
encode_binary(text="Hi")
# Returns: "01001000 01101001"

# Hexadecimal
encode_hex(text="Hi")
# Returns: "4869"

# Zero-Width (Steganography)
encode_zero_width(text="secret")
# Returns invisible Unicode characters

Cipher Examples

# ROT13
encode_rot13(text="Hello World")
# Returns: "Uryyb Jbeyq"

# Caesar Cipher with custom shift
encode_caesar(text="Attack at dawn", shift=5)
# Returns: "Fyyfhp fy ifbs"

# Atbash
encode_atbash(text="SECRET")
# Returns: "HVXIVG"

Unicode Transformation Examples

# Zalgo Text
encode_zalgo(text="Chaos", intensity="high")
# Returns: C̴̢̛͇̽h̵͎̓a̸̰͊ö̶́̚s̸̰̈

# Upside Down
encode_upside_down(text="Hello")
# Returns: "olləH"

# Bubble Text
encode_bubble_text(text="Hello")
# Returns: "Ⓗⓔⓛⓛⓞ"

# Full Width
encode_fullwidth(text="Wave")
# Returns: "Wave"

# Strikethrough
encode_strikethrough(text="Cancelled")
# Returns: "C̶a̶n̶c̶e̶l̶l̶e̶d̶"

# Underline
encode_underline(text="Important")
# Returns: "I̲m̲p̲o̲r̲t̲a̲n̲t̲"

Tool Categories

All tools are exposed as MCP tools with detailed descriptions and type hints:

Category Count Examples
Basic Encodings 22 Base64, Base58, Base62, Base45, ASCII85, Hex, Binary, URL
Ciphers 8 ROT13, Caesar, Atbash, Morse
Unicode Transformations 6 Zalgo, Upside Down, Bubble, Full Width, Strikethrough, Underline
Steganography 3 Zero-Width, Invisible Ink
Utilities 2 Reverse, Pig Latin

Development

# Install development dependencies
uv sync

# Run the server in development mode
uv run python main.py

# Test with MCP inspector
npx @modelcontextprotocol/inspector uv run python main.py

Technical Details

  • Framework: FastMCP (MCP Python SDK)
  • Python Version: 3.12+
  • Dependencies:
    • mcp[cli]>=1.16.0 - MCP server framework
    • httpx>=0.28.1 - HTTP client (for potential future features)

Credits

Inspired by P4RS3LT0NGV3 by elder-plinius.

License

Open source. See LICENSE file for details.

Contributing

Contributions welcome! Areas to expand:

  • More cipher algorithms (Vigenère, Rail Fence, Playfair)
  • Fantasy language encodings (Elvish, Klingon, etc.)
  • Ancient scripts (Runes, Hieroglyphics)
  • Additional Unicode styles
  • Batch encoding/decoding operations

Examples in Action

Hiding Messages

# Create invisible message
hidden = encode_zero_width(text="TOP SECRET")
visible = f"This is a normal message{hidden}"
# Looks like: "This is a normal message"
# But contains hidden text!

# Decode it
decode_zero_width(encoded_text=hidden)
# Returns: "TOP SECRET"

Text Styling

# Create stylized text for social media
normal = "AWESOME"
bubble = encode_bubble_text(text=normal)      # ⒶⓌⒺⓈⓄⓂⒺ
wide = encode_fullwidth(text=normal)          # AWESOME
zalgo = encode_zalgo(text=normal)             # A̴W̸E̵S̶O̴M̵E̸
strike = encode_strikethrough(text=normal)    # A̶W̶E̶S̶O̶M̶E̶
underline = encode_underline(text=normal)     # A̲W̲E̲S̲O̲M̲E̲
upside = encode_upside_down(text=normal)      # ƎWOSƎפ∀

Classic Ciphers

# Encode a message with Caesar cipher
message = "Meet at the park"
encoded = encode_caesar(text=message, shift=7)
# Returns: "Tlla ha aol whyr"

# Decode it
decode_caesar(text=encoded, shift=7)
# Returns: "Meet at the park"

Made with 🐍 and MCP

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_joaodunas_parseltongue_mcp-0.1.3.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_joaodunas_parseltongue_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: iflow_mcp_joaodunas_parseltongue_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_joaodunas_parseltongue_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a3c225c63923215530e57e9958fcaa2407830a797bd80f41e629f396a9869bdf
MD5 12223faadf7f58a79b2c54d799933c3a
BLAKE2b-256 5b44ae154355f84ca406611f5089e174fe745ef00fbca1d173340f82b01166f0

See more details on using hashes here.

File details

Details for the file iflow_mcp_joaodunas_parseltongue_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_joaodunas_parseltongue_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_joaodunas_parseltongue_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 82ff7c8aaf8e9fc3f7b163ac25ee445e97671e430bb1f59b00b19c9ac6adff13
MD5 92f3c368d4c722cad7cf3c40fc189109
BLAKE2b-256 939a9f31b5c753443c1e37b561d80c00f7ae1ec10b7bb99b1bb4b6e09e21eb89

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page