Minimal MCP server toolkit using decorators. Build MCP servers in minutes with Python decorators.
Critical gaps across all dimensions. All 10 tools lack parameter descriptions (null values in schema). Tool descriptions are minimal (10-20 chars), below the 34-char baseline for p10. No output schemas documented. Parameter types are present but descriptions are entirely absent, violating the 100% A+ baseline. No error handling guidance, no security considerations, no composition hints. The decorator-based framework generates schemas from type hints alone, but provides no mechanism for rich parameter documentation or output schema declaration.
Add two numbers together.
Divide a by b.
Generate the first n Fibonacci numbers.
Greet someone with configurable enthusiasm.
List files and directories at the given path.
Multiply two numbers.
Read the contents of a text file, optionally limiting line count.
All parameter descriptions are null. Schema shows type but no description for any parameter across all 10 tools. Violates 100% A+ baseline requiring descriptions for every parameter.
Tool descriptions are 10-20 characters, far below 34-char p10 baseline. Examples: 'Add two numbers together' (24 chars), 'Greet someone with configurable enthusiasm' (43 chars, only one above baseline). Descriptions lack WHEN to use, prerequisites, or return value guidance.
No output schemas documented. Tools return complex types (list[dict], str, list[dict]) but LLM has no schema for what fields to expect. Violates 100% A+ baseline for documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Search for files whose names contain the given pattern.
Subtract b from a.
Count words in a text string
No error handling guidance. Tools like read_file and search_files can fail (file not found, permission denied, invalid path) but provide no recovery hints or error categorization for the LLM.
Generic parameter names without type suffixes. 'path' could be file or directory; 'pattern' is ambiguous (regex? glob? substring?); 'n' for fibonacci is cryptic. Violates naming convention: suffix with type (path_file, pattern_substring, count_n).