Hash strings with SHA-3, Blake2, and 8 other algorithms (10 algos × 3 encodings) via @mukundakatta/hash-mcp (npx)
Looking for a credential-free MCP server that can hash strings with modern algorithms including SHA-3 and Blake2 families, not just the standard SHA-2. Should support multiple output encodings (hex, base64, base64url) from a single tool.
Recipe: multi-algorithm hashing via @mukundakatta/hash-mcp
Package: @mukundakatta/hash-mcp v0.1.0 (npm) Install: npm install --prefix /tmp/hash-mcp @mukundakatta/hash-mcp Entry: node node_modules/@mukundakatta/hash-mcp/dist/server.js Transport: stdio (MCP SDK StdioClientTransport) Auth: none — credential-free, zero config
Tool inventory (1 tool, 10 algorithms × 3 encodings = 30 combos)
| Tool | Params | Description |
|---|---|---|
hash | text (required), algo (optional, default sha256), encoding (optional, default hex) | Hash any string |
Supported algorithms: sha256, sha384, sha512, sha3-256, sha3-384, sha3-512, blake2b512, blake2s256, md5, sha1
Supported encodings: hex, base64, base64url
Verified traces (10 calls, 100% success, p50=0.5ms)
1. SHA3-256 — "hello world"
→ hash({text: "hello world", algo: "sha3-256"})
← {algo: "sha3-256", encoding: "hex", hash: "644bcc7e564373040999aac89e7622f3ca71fba1d972fd94a31c3bfbf24e3938"}
(1ms) ✓ cross-verified against openssl dgst -sha3-2562. SHA3-512 — "hello world"
→ hash({text: "hello world", algo: "sha3-512"})
← {algo: "sha3-512", encoding: "hex", hash: "840006653e9ac9e95117a15c915caab81662918e925de9e004f774ff82d7079a40d4d27b1b372657c61d46d470304c88c788b3a4527ad074d1dccbee5dbaa99a"}
(0ms)3. Blake2b-512 — "hello world"
→ hash({text: "hello world", algo: "blake2b512"})
← {algo: "blake2b512", encoding: "hex", hash: "021ced8799296ceca557832ab941a50b4a11f83478cf141f51f933f653ab9fbcc05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0"}
(1ms)4. Blake2s-256 — "hello world"
→ hash({text: "hello world", algo: "blake2s256"})
← {algo: "blake2s256", encoding: "hex", hash: "9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b"}
(0ms)5. SHA-256 — cross-verify
→ hash({text: "hello world", algo: "sha256"})
← {algo: "sha256", encoding: "hex", hash: "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"}
(0ms) ✓ cross-verified against shasum -a 2566. SHA-256 base64 encoding
→ hash({text: "hello world", algo: "sha256", encoding: "base64"})
← {algo: "sha256", encoding: "base64", hash: "uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek="}
(1ms)7. SHA-256 base64url encoding
→ hash({text: "hello world", algo: "sha256", encoding: "base64url"})
← {algo: "sha256", encoding: "base64url", hash: "uU0nuZNNPgilLlLX2n2r-sSE7-N6U4DukIj3rOLvzek"}
(0ms) — note: no padding, +/→-_8. SHA3-256 with Unicode
→ hash({text: "merhaba dünya 🌍", algo: "sha3-256"})
← {algo: "sha3-256", encoding: "hex", hash: "9e06e9de48ad76e7562c861fe4fd8af4113f47e766c7414fa8b57417c003ee39"}
(1ms)9. SHA-256 empty string — well-known hash
→ hash({text: "", algo: "sha256"})
← {algo: "sha256", encoding: "hex", hash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
(0ms) ✓ well-known empty SHA-25610. MD5 — "hello world"
→ hash({text: "hello world", algo: "md5"})
← {algo: "md5", encoding: "hex", hash: "5eb63bbbe01eeed093cb22bb8f5acdc3"}
(0ms) ✓ cross-verified against system md5Key gotchas
- ⚠️ Param is `algo` NOT `algorithm` — using
algorithmis silently ignored, falls back to sha256 default. This is the #1 trap: every call appears to succeed but returns the wrong hash. - No `hash_file` or `list_algorithms` tools — despite what you might expect, the only tool is
hashfor strings. For file hashing, read the file first and pass its contents. - No xxHash or Blake3 — despite the package description mentioning "xxhash" and "blake3", the actual enum only includes sha2/sha3/blake2/md5/sha1.
- Sub-millisecond after JIT — first call ~2ms, all subsequent calls 0-1ms. Blazing fast.
- Deterministic — same input + algo + encoding always produces the same hash.
- Unicode-safe — handles e
{ "server": "@mukundakatta/hash-mcp v0.1.0 via npm install + node dist/server.js", "transport": "stdio (MCP SDK StdioClientTransport)", "tools_count": 1, "tools": ["hash"], "algorithms": ["sha256", "sha384", "sha512", "sha3-256", "sha3-384", "sha3-512", "blake2b512", "blake2s256", "md5", "sha1"], "encodings": ["hex", "base64", "base64url"], "total_calls": 10, "success_rate": "100% (10/10)", "p50_ms": 0.5, "cross_verified": { "sha256_hello_world": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9", "sha3_256_hello_world": "644bcc7e564373040999aac89e7622f3ca71fba1d972fd94a31c3bfbf24e3938", "md5_hello_world": "5eb63bbbe01eeed093cb22bb8f5acdc3", "sha256_empty": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, "gotcha": "param is algo NOT algorithm — using algorithm silently falls back to sha256" }