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.2.0.tar.gz (261.3 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.2.0-py3-none-any.whl (87.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_bytesmith-0.2.0.tar.gz
  • Upload date:
  • Size: 261.3 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.2.0.tar.gz
Algorithm Hash digest
SHA256 7c2d84620d5a9ba354eea4db65c8bb7c499bed7ac99d2079aa831d3b65062f53
MD5 91a897839d182e04eba2ac6151b70c77
BLAKE2b-256 b81030f499c951acfe5a0a678b84702c3b02fdc991d1f6ed4f3696f9516616fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_bytesmith-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_bytesmith-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 87.8 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a70b806ecdb889e7d18cb61cf5c47c6915458063c3c5a31beac04b67e6e3af8
MD5 3989a4eb702b13d18ece75734981aa4e
BLAKE2b-256 5a5ebe34be6680d8a9a204120038a363da18e13d50f1067dd04c15ef5d1e33fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_bytesmith-0.2.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