An MCP server that provides encryption and decryption tools using string reversal
Both tools have minimal, generic descriptions (under 50 chars) that fail to guide LLM selection. Parameter schemas are present but trivial (single string param with minimal description). No output schema documented. No error handling guidance. Tool names are verb-based but descriptions lack context on when/why to use them. This server demonstrates fundamental gaps in definition quality expected for production tools.
Decrypts a string by reversing the order
Encrypts a string by reversing the order
Descriptions are too short (under 50 chars) and lack context. 'Encrypts a string by reversing the order' does not explain when to use encrypt vs decrypt, what the output format is, or whether this is suitable for real cryptography.
No output schema documented. LLMs cannot infer what encrypt() and decrypt() return or plan downstream tool calls. Baseline: 100% of A+ tools document return types.
Parameter descriptions are minimal ('The string to encrypt'). No guidance on format, length limits, character restrictions, or encoding. Baseline: 100% of A+ tool params have descriptions; average length 72 chars.
No error handling or recovery guidance. If a tool fails, the LLM has no actionable next step. Missing pattern: recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Tool names 'encrypt' and 'decrypt' are ambiguous without descriptions. LLMs cannot distinguish when to call each without reading the description, and descriptions are too short to help. Consider 'reverse_string_encrypt' and 'reverse_string_decrypt' or add context to descriptions.