Skip to main content

MCP server for text encoding and transformation tools

Project description

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

Project details


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.

Supported by

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