MCP server that converts HTML or Markdown content to Unicode-formatted text (bold, italic, underline, strikethrough, highlight, lists, etc.)
Single tool 'convert' has a well-structured schema with proper types and descriptions. The tool description is comprehensive (280+ chars) and includes prerequisites and usage guidance, exceeding the 10-1024 char baseline. Input parameters (syntax, content) both have detailed descriptions with constraints and examples. However, the description is overly verbose and repetitive (mentions reading resources 3 times), and the tool lacks output schema documentation. No error handling guidance is provided to help LLMs recover from invalid syntax or unsupported symbols. The tool follows verb_noun naming ('convert') but the description could be more concise. Overall solid foundation but missing output documentation and error recovery patterns.
Converts HTML or Markdown content to Unicode-formatted text (bold, italic, underline, strikethrough, highlight, lists, etc.). IMPORTANT — before calling this tool: (1) Read the syntax resource for your chosen format: boldify://syntaxes/markdown or boldify://syntaxes/html. (2) Only use symbols listed in that resource — unsupported symbols (headings, code blocks, tables, etc.) will cause an error. (3) Consult the 'convert-markdown' or 'convert-html' prompts to see correctly composed examples.
Output schema not documented. Tool description does not specify what the convert tool returns (structure, fields, format). LLMs cannot plan downstream operations or extract results without knowing the response shape.
No error handling guidance. Description mentions 'unsupported symbols will cause an error' but does not tell LLMs what to do when errors occur. Should include recovery hints like 'If conversion fails, check the syntax resource to verify symbol support.'
Repetitive description. The instruction to read syntax resources is stated 3 times in the tool description and parameter descriptions. This wastes tokens and dilutes clarity. Consolidate into a single, concise statement.
Syntax parameter accepts free-form string ('markdown' or 'html') without enum constraint. Should declare syntax as an enum with exactly two values to prevent LLM hallucination of invalid syntax names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No tool annotations present. Tool does not declare readOnlyHint, destructiveHint, or idempotentHint. The convert tool appears read-only and idempotent but these hints are not explicitly set, missing an opportunity for LLM optimization.