mcp-bytesmith
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A pure-Python Model Context Protocol server,
built on the official MCP SDK (MCPServer), 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, EIP-712 typed-data, and EIP-7702 authorization hashing,
eth_userop_hash for the ERC-4337 userOpHash (EntryPoint 0.6/0.7/0.8),
abi_codec and rlp_codec for ABI and
RLP encode/decode, eth_selector for function and event selectors,
abi_inspect for converting a contract ABI between its JSON and human-readable
forms and listing every selector and topic0 it declares,
eth_calldata for splitting a call's calldata into named, typed arguments (and
building it back), eth_log_decode for turning a receipt log's topics and data
into named event arguments, eth_revert_decode for turning a failed call's
revert data into a reason (Error(string), Panic(uint256), or a custom error),
eth_bytecode for disassembling deployed bytecode, scraping the selectors out of
its dispatcher, and reading its trailing solc metadata,
eth_tx_codec for transactions and the hash their sender signs,
eth_storage_slot
for storage layout — mapping and array slots, plus the well-known constant ones
(EIP-1967 proxy, UUPS, ERC-7201 namespaced, diamond) — 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