Convert Markdown into WhatsApp formatting — tables drawn to fit the phone's monospace width. Library, CLI and MCP server.
Strong tool definition with excellent, detailed descriptions and a complete, well-constrained schema. The single tool 'convert_markdown_to_whatsapp' has a description that clearly explains what it does, when to use it, and why an LLM should call it rather than attempting conversion manually. All parameters are typed, documented, and constrained with enums or numeric bounds. The tool is read-only with no state mutation or side effects. The schema follows JSON Schema conventions properly via Zod. The main gap is that output schema structure is not explicitly documented, the tool describes what it returns conceptually (WhatsApp-formatted text, or blocks as JSON) but does not provide a formal output type definition or sample response structure.
Convert Markdown into the formatting WhatsApp renders (*bold*, _italic_, ~strike~, `code`, lists, quotes), ready to paste or send. Use it instead of hand-writing WhatsApp syntax whenever the text has tables, nested lists, headings or inline formatting next to punctuation. It applies WhatsApp's real rules: markers only on word boundaries, escapes that WhatsApp does not interpret, no mid-word formatting. Each table is drawn as a monospace box sized to the reader's phone, degrading in this order: cell padding removed, then borders, then cells word-wrapped. It becomes a bulleted list only when no box fits. Counting columns against a 26-character bubble is exactly what this tool does and a model does not.
Output schema not formally documented. Tool description and CLI hint at two output modes (text vs JSON blocks), but no explicit schema definition for the response structure is provided in the MCP registration. LLMs cannot plan chained calls or validate results without knowing the output shape.
No error handling guidance documented. The tool description does not state what happens on invalid Markdown, unsupported syntax, or edge cases (e.g. extremely wide tables, deeply nested lists). LLMs have no recovery path if input fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | 2025-06-18+ | v2 |