Comprehensive MCP server providing numerical calculation, bitwise operations, data codecs, and mathematical utilities
39 tools with consistent naming (verb_noun pattern: add, subtract, multiply, etc.) and complete input schemas. Descriptions are present but brief (avg ~60 chars, below the 194-char baseline). All parameters have type definitions and descriptions. However, output schemas are not documented, LLMs cannot predict return structure. Error handling is minimal; no recovery guidance. batch_calc is well-designed with step references and dependency tracking, but lacks output schema documentation. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only.
Adds two numbers
Calculates the arccosine (in radians) of a number
Calculates the arcsine (in radians) of a number
Calculates the arctangent (in radians) of a number
Decodes Base64 to string or hex format
Encodes string or hex bytes to Base64 (standard or url-safe)
Executes multiple calculation steps in one call and returns all results at once. Steps run sequentially in array order. Each step is {"op": "<tool name>", "args": {...}}, where "op" is any of the available operations. Chaining: an argument value may be a reference to an earlier step's result: {"$step": <index>} -> the whole result of that step, or {"$step": <index>, "field": "<name>"} -> a specific field of that step's object result. References only point to earlier steps (index < current). Returns a compact JSON array in step order, each item {step, op, status, result|error|reason}. A step is "skipped" only if a step it depends on failed; unrelated steps still run.
Output schemas not documented. LLMs cannot predict return structure (e.g., does hash return {result, hex} or {hash, algorithm}?). Forces trial-and-error field extraction.
Tool descriptions are brief (avg ~60 chars vs 194-char baseline). Missing context on WHEN to use each tool and what it returns. E.g., 'Calculates the sine of a number in radians' lacks guidance on output format or use cases.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 39 tools are read-only and idempotent, but LLMs cannot infer this without explicit hints. Agents may incorrectly treat them as stateful.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Performs bitwise operations (AND, OR, XOR, NOT, SHL, SHR, SAR, ROL, ROR) on integers with specified bit width
Rounds a number up to the nearest integer
Calculates the cosine of a number in radians
Calculates CRC16-CCITT (polynomial 0x1021) or CRC16-MODBUS (polynomial 0xA001)
Calculates standard IEEE 802.3 CRC32 checksum
Converts degrees to radians
Divides the first number by the second
Swaps endianness (Big-Endian <-> Little-Endian) of an integer or hex value
Rounds a number down to the nearest integer
Computes Greatest Common Divisor (GCD) using Euclidean algorithm
Calculates MD5, SHA-1, or SHA-256 hash of text or hex buffer
Converts Hex string back to text (UTF-8)
Analyzes and converts floating-point numbers to/from IEEE 754 representation (32-bit and/or 64-bit)
Converts integer(s) to Hex/Dec/Bin/Oct, 8/16/32/64-bit signed/unsigned, Little-Endian and ASCII
Finds the maximum value from a list of numbers
Calculates the arithmetic mean of a list of numbers
Calculates the median of a list of numbers
Finds the minimum value from a list of numbers
Finds the most common number in a list of numbers
Extended Euclidean algorithm to compute modular inverse: Finds x such that (a * x) % modulus === 1. Vital for RSA key generation / private exponent recovery
BigInt Modular Exponentiation: (base ^ exponent) mod modulus. Essential for RSA encryption, decryption, and signature verification
Returns the remainder of a division
Multiplies two numbers
Converts radians to degrees
Rounds a number to the nearest integer
Calculates the sine of a number in radians
Converts string to Hex representation
Subtracts the second number from the first
Adds any number of numbers together
Calculates the tangent of a number in radians
Decodes URI component
Encodes URI component
Naming inconsistency: camelCase (radiansToDegrees, degreesToRadians, int_convert, ieee754_convert) vs snake_case (base64_encode, url_encode). LLMs struggle with mixed conventions.
No error handling guidance. Tools like division (denominator=0), arcsin (input >1), modinverse (no inverse exists) can fail, but descriptions don't explain recovery steps or constraints.