MCP server for mathematical expression evaluation with strict grammar validation
Server has 6 well-structured tools with clear verb-noun naming (evaluate, validate_syntax, set_variable, get_variable, list_variables, clear_variables). All tools have explicit descriptions and input schemas with type definitions. However, descriptions are minimal (10-80 characters) compared to production baseline (194 chars average), lacking context about WHEN to use each tool and what downstream operations they enable. Parameter descriptions are present but terse. Output schemas are not documented in the source code provided. Error handling exists but is generic ('Error: {message}') without recovery guidance. No tool annotations for readOnly/destructive hints visible in handler code.
Clear all previously defined variables
Evaluate a mathematical expression and return the result
Retrieve the value of a previously set variable
List all currently defined variables and their values
Set a variable to the result of a mathematical expression
Validate the syntax of a mathematical expression without evaluating it
Tool descriptions are below production baseline (10-80 chars vs 194 avg). Missing context about when to use each tool and expected return types.
No documented output schemas. LLM cannot infer what fields/structure to expect from each tool response, limiting composability.
Error handling is generic ('Error: {message}'). Does not categorize errors as retryable/user-fixable/fatal, nor provides recovery guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
No tool annotations visible (readOnlyHint, destructiveHint, idempotentHint). Risk classification (READ_ONLY vs WRITE) is declared in rubric but not in MCP schema.
Parameter descriptions are terse (5-15 chars). Example: 'The name of the variable' for set_variable's 'name' param lacks guidance on naming conventions.