AI-native, print-grade Chinese PDF generator. Markdown in, publisher-quality PDF out, with a 0-100 print-quality report.
Four tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (list_, render_, validate_, new_). Descriptions exist but are inconsistent in quality, render_markdown is verbose with embedded Args documentation (anti-pattern), while others are terse. No parameter descriptions visible for most inputs. Output schemas not documented. Error handling and recovery guidance absent. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable (single responsibility per tool), but parameter naming lacks consistency (e.g., 'markdown' vs 'pdf' vs 'template' without type suffixes).
List the available print-grade themes (e.g. modern, academic, sepia).
Scaffold a Markdown draft from a built-in template. Args: template: report | book | resume | techdoc | letter. output: optional output .md path; empty = <template>.md in cwd.
Render Markdown to a print-grade PDF and return the 0-100 quality report. Args: markdown: full Markdown source (YAML frontmatter with title/author/date/theme supported). theme: optional theme name; empty = automatic smart recommendation. output: optional PDF output path; empty = a temp file is used.
Run the 0-100 print-quality report on an existing PDF.
Parameter descriptions missing or incomplete. 'markdown', 'theme', 'output', 'pdf', 'template' parameters lack descriptions explaining format, constraints, or valid values. LLMs cannot infer whether 'theme' accepts arbitrary strings or only predefined names.
Output schemas not documented. Tools return results but no schema is visible for what fields/structure the LLM should expect. render_markdown mentions '0-100 quality report' but structure undefined. validate_pdf_tool and new_document_tool outputs completely undocumented.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). render_markdown and new_document_tool are marked WRITE but lack destructiveHint annotation. list_themes_tool and validate_pdf_tool are READ_ONLY but lack readOnlyHint. Current MCP spec (2026-07-28) expects these annotations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
render_markdown description embeds Args documentation (anti-pattern). Descriptions should be prose explaining WHAT/WHEN/WHY, not parameter lists. Parameter details belong in parameter descriptions, not tool description.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or what the LLM should do if a call fails. E.g., render_markdown may fail on invalid Markdown or missing theme, no guidance provided.