A utility MCP server providing tools for math, strings, dates, developer utilities, and more
The server defines 38 utility tools (datetime, encoding, math, string, hashing). Tool naming follows verb_noun convention generally well (timestamp, date_diff, format_date, base64_encode, etc.). Descriptions are present for most tools but vary significantly in quality and specificity. Parameter schemas are well-structured with types and enums where appropriate, but many math tools (add, subtract, multiply, etc.) lack visible descriptions and parameter documentation in the provided source. Output schemas are not documented, critical oversight for composition. Error handling is not evident in the tool definitions; there is errorReporting=true but no recovery guidance visible. The server lacks per-tool descriptions for ~16 math/utility tools and comprehensive output documentation.
Decode a Base64 string.
Encode a string to Base64.
Calculate the difference between two dates.
20 of 38 tools (53%) have NO visible description in source code, math and utility tools (add, subtract, multiply, divide, power, modulo, sqrt, abs, round, floor, ceil, min, max, factorial, log, ln, sin, cos, tan, reverse, word_count, uppercase, lowercase, slugify, random, uuid, base_convert, hash) are documented only by name.
No input/output schemas visible for 20 math/utility tools. The tool definitions reference src/mcp_server/tools/math/index.ts and src/mcp_server/tools/string/index.ts, but the source code is not provided, so parameter types, constraints, and return structures cannot be verified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Format a date in different styles.
Pretty-print or minify JSON.
Get current Unix timestamp or convert between timestamp and date.
URL-decode a string.
URL-encode a string.
No output schemas documented for any tool. LLMs need to know what fields to expect from responses so they can chain tools and extract relevant data. Currently it is unclear what timestamp() returns, whether date_diff() returns an object or a scalar, or how hash() structures its result.
Generic/ambiguous parameter names. Many tools use bare 'value' (timestamp, base64_decode, url_decode) without specifying expected format, is it a date string, a base64 string, a URL-encoded string? Descriptions exist for some (timestamp has 'Timestamp (for to_date) or ISO date string (for from_date)') but others lack this clarity.
No error handling or recovery guidance visible. The server has errorReporting=true but tool definitions do not indicate what errors each tool can raise, which are retryable, or how an LLM should recover (e.g., 'Invalid base value for base_convert: must be 2-36' with actionable correction).