mcp-bytesmith
mcp-bytesmith is a local byte-wrangling utility server — all operations are computed locally with no network calls. Here's what you can do:
Encoding & Decoding
encode/decode: Convert bytes/text to/from Base16, Base32, Base45, Base58, Base58check, Base62, Base64, Base64url, ASCII85, Base85, Z85, URL percent-encoding, IDNA, Bech32/Bech32m, hexdump, and EVM bytes32
Hashing
hash: Compute cryptographic (MD5, SHA1/2/3, BLAKE2), CRC (8/16/32/64), xxHash, and FNV1a digestshash_file: Checksum a file on disk and optionally verify against an expected digesthmac: Compute or verify HMAC authentication tags
Number & Byte Manipulation
num_convert: Convert arbitrary-precision integers between hex, decimal, binary, and octalbyte_order: Swap between little-endian, big-endian, host, and network byte ordersbytes_edit: Pad, trim, slice, concatenate, size, or prefix hex byte buffers
Text & Unicode
unicode_normalize: Normalize text to NFC, NFD, NFKC, or NFKD formscharset_transcode: Convert text between character encodings (e.g., Latin-1, CP1252, UTF-8)string_escape/string_unescape: Escape/unescape text for JSON, JS, Python, C, shell, HTML, XML, and morecodepoints: Inspect text character-by-character with Unicode names and UTF-8/16/32 byte views
Time, Data URIs & Random
time_convert: Convert timestamps between ISO 8601, RFC 2822, HTTP date, Unix epoch, and strftime formats across time zonesdata_uri: Build or parse RFC 2397data:URIsrandom: Generate cryptographically secure random bytes, hex/URL-safe tokens, or diceware passphrases
Ethereum/EVM Toolset (optional ethereum extra)
eth_hash: Compute keccak-256, EIP-191 personal_sign, or EIP-712 typed-data hasheseth_selector: Derive 4-byte function selectors or 32-byte event topic0 from Solidity signaturesabi_codec: ABI-encode or ABI-decode call/return/log data (standard and packed modes)rlp_codec: RLP-encode structured data or RLP-decode hex stringseth_storage_slot: Compute storage slots for mapping or dynamic array entrieseth_tx_codec: Serialize/deserialize raw transactionseth_address_case: Apply or verify EIP-55 mixed-case address checksumsens_namehash: Compute EIP-137 namehash and labelhash for ENS names
Serialization Toolset (optional serialize extra)
serialize_codec: Encode/decode structured data in CBOR, MessagePack, bencode, and decode raw protobuf wire format
Discovery
info: Health-check reporting server status, version, Python runtime, MCP SDK version, and active toolsets
Provides tools for Ethereum/EVM operations including keccak-256 hashing, ABI and RLP encoding/decoding, function and event selectors, transaction encoding, storage slot computation, and EIP-55 address checksumming.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-bytesmithhash 'hello world' with sha256"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-bytesmith
A pure-Python Model Context Protocol server, built on the official MCP SDK (FastMCP), exposing a toolbox of byte-wrangling utilities — encoding, hashing, number crunching, and Ethereum primitives — all computed locally and for real, with no network calls or remote APIs.
Distribution name: mcp-bytesmith · import package: mcp_bytesmith.
Tools
mcp-bytesmith ships an always-on core toolset built entirely on the Python
standard library, so it works out of the box with no extra dependencies. This
covers the everyday primitives: encode and decode move data between a wide
set of schemes (hex, the Base64/Base32 family, Base58/Base58check, Base45, and
more), hash computes cryptographic, CRC, and fast non-cryptographic digests,
hash_file checksums a file on disk and soft-verifies it against an expected
digest, hmac computes and verifies keyed-hash authentication tags, and
num_convert translates integers between bases. Rounding out the core are
bytes_edit (pad/trim/slice/concat byte glue), data_uri (build and parse
data: URIs), otpauth_uri (build and parse otpauth:// authenticator
provisioning URIs), unicode_normalize and charset_transcode for text and
character-set work, string_escape/string_unescape for JSON/JS/Python/C
escaping, codepoints for per-scalar Unicode inspection, random for
CSPRNG-backed bytes, tokens, and passphrases, and id_generate for UUIDs
(v1/v4/v5/v7), ULIDs, and nanoids. password_hash turns a password
into a verifiable storage string and checks one back — scrypt and PBKDF2 out of
the box, bcrypt and the argon2 variants with the crypto extra — while
derive_key derives raw key bytes from a password or secret via PBKDF2, scrypt,
or HKDF.
An opt-in Ethereum/EVM toolset (enabled via the ethereum extra) adds the
primitives you reach for when working on-chain: eth_hash for keccak-256,
EIP-191, and EIP-712 typed-data hashing, abi_codec and rlp_codec for ABI and
RLP encode/decode, eth_selector for function and event selectors, eth_tx_codec
for transactions, eth_storage_slot for storage layout, eth_address_case
for EIP-55 checksums, ens_namehash for EIP-137 ENS namehash/labelhash,
bip39 for BIP-39 mnemonic generation, validation, and seed derivation,
bip32_derive for BIP-32/44 HD key and address derivation from a seed,
eth_eoa_address for the address and public key behind a private key, and
eth_contract_address for CREATE and CREATE2 deployment addresses. An
always-available info tool reports which toolsets are
active along with version information.
An opt-in serialization toolset (enabled via the serialize extra) adds
serialize_codec, a single tool multiplexed by format. It encodes and decodes
schemaless structured data across CBOR, MessagePack, bencode, and ASN.1 DER/BER
(a tag-length-value tree; the crypto extra's asn1crypto is needed for ASN.1);
it encodes and decodes SSZ (Simple Serialize) driven by an options.schema,
also returning the hash_tree_root; and it decodes raw protobuf wire format
(protobuf is decode-only — without a .proto schema it surfaces field numbers,
wire types, and values rather than field names).
Further toolsets (the rest of crypto, IDs, validation) are on the roadmap — see
TODO.
Related MCP server: mcp-python-bitcoinlib
Development
uv sync # create venv + install (incl. dev extras)
uv run mcp-bytesmith # start the server over stdio
uv run pytest # run the test suiteSponsoring
mcp-bytesmith is free, open-source software developed in my spare time. Sponsorships are what keep the project alive and actively maintained — they fund new toolsets, bug fixes, and ongoing support, and they're a direct signal that the work is worth continuing.
If the project is useful to you, please consider sponsoring it through GitHub Sponsors. Click the Sponsor button at the top of the repository, or visit the link directly, and pick a one-time or recurring tier. Every contribution, large or small, is hugely appreciated and goes straight back into keeping mcp-bytesmith healthy.
License
GPLv3 — see LICENSE.
The bundled passphrase wordlist
(src/mcp_bytesmith/wordlists/eff_large.txt,
used by the random tool's passphrase kind) is the EFF "large" wordlist by the
Electronic Frontier Foundation, licensed
CC BY 3.0 US.
The bundled BIP-39 wordlist
(src/mcp_bytesmith/wordlists/bip39_english.txt,
used by the bip39 tool) is the canonical English wordlist from
BIP-39, which
falls under the MIT License.
Its SHA-256 is 2f5eed53a4727b4bf8880d8f3f199efc90e58503646d9ff8eff3a2ed3b24dbda.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/laszlopere/mcp-bytesmith'
If you have feedback or need assistance with the MCP directory API, please join our Discord server