Generate ASCII art banners from any string using pyfiglet fonts.
ASCII Banner has clear tool naming and reasonably complete schemas, but lacks structured output documentation and error recovery guidance. Both tools follow verb_noun conventions and include descriptions, but the descriptions are somewhat generic and lack specific guidance on when to use each tool vs. alternatives. Parameters are documented with types but lack constraint information (e.g., max text length, valid font names as enum). Error handling returns plain strings rather than structured responses with recovery hints. The server is functional for its narrow domain but misses several quality patterns.
Generate an ASCII art banner from the given string. Args: text: The string to render as ASCII art (e.g. "Hello", "MCP"). font: Name of the pyfiglet font. Use get_fonts() to list available fonts. Default is "standard". Common options: "slant", "block", "bubble", "big". Returns: The ASCII art banner as a multi-line string.
List all available pyfiglet font names. Returns a list of font identifiers that can be used with generate_banner. Use this to discover which fonts (e.g. 'slant', 'standard', 'block') are available.
No output schema documentation. Both tools return unstructured strings. LLMs cannot plan downstream operations or validate the response structure.
Error messages return plain strings without structured error classification (retryable vs. fatal). 'Error: font not found' gives no guidance on recovery steps.
Font parameter accepts any string; should be an enum of valid font names. LLMs may hallucinate invalid font names, causing preventable errors.
Text parameter lacks constraints. No maximum length specified. LLMs could pass megabytes of text, causing performance issues or stack overflows.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
get_fonts() description does not explain when to call it relative to generate_banner(). Should state: 'Call this first to discover available fonts before generate_banner().'