Skip to main content

Pure-Python MCP server for encoding, hashing, and crypto-primitives — computed for real, locally.

Project description

mcp-bytesmith

CI PyPI Python 3.10+ License: GPLv3 Sponsor mcp-bytesmith MCP server Ruff Checked with mypy Last commit

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), 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, and random for CSPRNG-backed bytes, tokens, and passphrases.

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, and ens_namehash for EIP-137 ENS namehash/labelhash. 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 that encodes and decodes schemaless structured data across CBOR, MessagePack, and bencode, and 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 (crypto, IDs, validation) are on the roadmap — see TODO.

Development

uv sync                 # create venv + install (incl. dev extras)
uv run mcp-bytesmith    # start the server over stdio
uv run pytest           # run the test suite

Sponsoring

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.

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

mcp_bytesmith-0.3.0.tar.gz (269.7 kB view details)

Uploaded Source

Built Distribution

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

mcp_bytesmith-0.3.0-py3-none-any.whl (92.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_bytesmith-0.3.0.tar.gz.

File metadata

  • Download URL: mcp_bytesmith-0.3.0.tar.gz
  • Upload date:
  • Size: 269.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_bytesmith-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b3a7b364cea9732a4b04fd4779e576b7dcc2e1948ff27cb6e1471e29005434cf
MD5 685edc2636d29b1212a293a37274b3d8
BLAKE2b-256 80e4bb60ffa8b1551225e2f97b19caa30d332f90a5f1da5d6fc209ce9728b0d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_bytesmith-0.3.0.tar.gz:

Publisher: release.yml on laszlopere/mcp-bytesmith

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_bytesmith-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_bytesmith-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 92.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_bytesmith-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3754ed91c160f7b70da451a27042edd3059713d0f36f1e2b0a567236215e607
MD5 1090e043b91aad1d993fc27fa0579850
BLAKE2b-256 894b7475f483d507ae3146926f4964f62ba36bf851cbb27c9a1b6c97e6a90b59

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_bytesmith-0.3.0-py3-none-any.whl:

Publisher: release.yml on laszlopere/mcp-bytesmith

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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