Checksum MCP — CRC-32 & Adler-32. Keyless, offline: compute CRC-32 (IEEE, as used by zip/gzip/PNG) and Adler-32 (as used by zlib) checksums of text. Pure functions — no API, no key. These are error-detection checksums, NOT cryptographic hashes.
Two simple, well-named tools with clear descriptions and complete input schemas. Naming follows verb_noun convention (crc32, adler32 are algorithm names, not verbs, minor deviation). Descriptions are concise (90 - 130 chars, within 10 - 1024 baseline) and explain what each tool does, when to use it, and that they are keyless/offline. Input schemas are properly typed with required fields and parameter descriptions. However, output schemas are not documented, LLMs cannot predict the response structure (algorithm, value, hex fields). No error handling guidance, no parameter constraints (e.g., max text length), and no tool annotations (readOnlyHint). Tools are READ_ONLY but lack explicit annotation. No pagination or result limits documented (though text input is naturally bounded). Overall: solid foundation, but missing output documentation and error recovery patterns.
Compute the Adler-32 checksum of UTF-8 text (as used by zlib). Returns the unsigned value and hex. Keyless, offline.
Compute the CRC-32 (IEEE) checksum of UTF-8 text — the algorithm used by zip/gzip/PNG. Returns the unsigned 32-bit value and its hex form. Keyless, offline. (Error-detection checksum, not cryptographic.)
Output schemas not documented. LLMs cannot predict response structure (algorithm, value, hex fields). Agents must infer or guess.
No tool annotations (readOnlyHint). Tools are READ_ONLY but lack explicit metadata to signal safety to agents.
No error handling guidance. If text encoding fails or input is invalid, no recovery hint provided to LLM.
No input constraints documented. Max text length, encoding assumptions, or edge cases (empty string, very large input) not specified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |