MCP Math Server - Initializes FastMCP application and registers sandboxed math computational tools for numerical evaluation, symbolic algebra, numeric solving, unit validation, and plotting.
Server has 6 well-structured tools with complete input schemas and descriptions. All tools follow verb_noun naming (calculate, solve_symbolic, solve_numeric, check_units, plot, plot_image). Descriptions are substantive (100-200 chars), explaining WHAT each tool does and WHEN to use it. Parameters are typed with enums where appropriate (operation, method, mode, domain, check). However, output schemas are not documented, LLMs cannot predict return structure. Error handling is absent from visible code; no recovery guidance or actionable error messages. The plot_image tool is marked experimental/test, suggesting incomplete validation. Missing per-parameter descriptions for some optional fields (e.g., 'extra' in solve_symbolic lacks detail on valid keys). No security annotations or permission gates visible.
Evaluates a numerical expression inside a safe sandbox with optional physical unit validation.
Explicit diagnostic tool for physical unit dimensional analysis and compatibility reporting.
Evaluates a mathematical expression inside the sandbox and returns self-contained matplotlib code for rendering.
[EXPERIMENT/TEST FEATURE] Generates dynamic graphic curves or coordinate arrays in memory, returning an MCP Image object.
High-precision numerical equation solvers, optimizations, integrations, and ODE solvers via SciPy.
Performs symbolic algebra, derivatives, integrations, simplifications, and limits using SymPy.
Output schemas not documented. LLMs cannot predict return structure or plan downstream tool calls. Tools return JSON strings but field names, types, and nesting are invisible to the agent.
No error handling or recovery guidance. If a tool fails (invalid expression, unit mismatch, solver divergence), the agent receives no actionable error message or retry strategy.
Parameter 'extra' in solve_symbolic lacks detail on valid keys and structure. Description says 'Parameters such as {order: 2}' but does not enumerate all valid keys or their types, forcing LLMs to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
plot_image marked as '[EXPERIMENT/TEST FEATURE]', suggests incomplete validation and unclear production readiness. No deprecation timeline or migration path documented.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. All tools are read-only (safe to retry), but this is not declared to the client, forcing conservative retry logic.