A Spring Boot MCP server that provides mathematical utility tools
Single tool with critical definition gaps. Tool name 'getMaxCommonFactorByParam' violates verb_noun convention (should be 'get_max_common_factor'). Description is 20 chars, at the bare minimum threshold but lacks context on when/why to use it. Input schema present but parameter 'number' description is generic ('输入的正整数' = 'input positive integer') and lacks constraints (min/max bounds). No output schema documented. No error handling guidance (what if input is negative or zero?). Tool appears functional but falls short of production-grade definition quality.
求一个正整数的最大因数(不包含本身)
Tool name violates verb_noun convention. 'getMaxCommonFactorByParam' uses camelCase and includes 'ByParam' suffix (redundant). Should be 'get_max_common_factor' with snake_case. LLMs parse action verbs from names, non-standard naming reduces discoverability.
No output schema documented. Tool description does not specify what fields are returned (e.g., is it a single integer, or an object with {factor: int, divisors: []}?). LLMs cannot plan downstream calls without knowing the response structure.
Parameter 'number' lacks constraints. Description does not specify min/max bounds, valid range, or behavior for edge cases (negative, zero, very large integers). Tool should document: 'Positive integer, 1 - 2147483647. Returns error if input ≤ 1.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
No error handling guidance. What happens if input is 1 (no factors except itself), negative, or zero? Tool should document error cases and recovery steps: 'If input < 2, returns error: "No factors exist for numbers < 2."'
Tool description is minimal (20 chars in Chinese). Does not explain WHEN to use this tool or what it's for. Expand to 50 - 150 chars: 'Find the largest divisor of a positive integer (excluding the number itself). Useful for factorization and GCD calculations.'