An MCP server that converts webpages and PDF documents to Markdown format
The server provides 2 tools with basic but incomplete definitions. Both tools have action-verb naming and descriptions, but parameter documentation is sparse and output schemas are not documented. Input schemas are visible and properly typed, but descriptions lack the depth needed to guide LLM decision-making effectively. No error handling guidance is documented. The tool descriptions are brief (39-79 chars) but meet minimum viability. Parameter descriptions are absent, only the parameter name and type are provided.
Fetch a webpage and convert it to Markdown.
Download a PDF from a URL, extract all text + tables, and return Markdown.
Parameter descriptions are completely missing. The 'url' parameter in both tools has no description explaining what format is expected, whether relative URLs are accepted, timeout behavior, or error cases (e.g. 404, timeouts, invalid schemes).
Output schemas are not documented. The tools return Markdown text, but the response structure (e.g. is it plain text? an object with {content: string}? does it include metadata?) is not specified in the visible code or docstrings. LLMs cannot plan downstream operations without knowing the response shape.
Tool descriptions lack actionable detail. 'Fetch a webpage and convert it to Markdown' (39 chars) is too terse. LLMs need context on when to use this vs other tools, what happens with JavaScript-heavy pages, size limits, timeout behavior, and which headers are sent. Descriptions should be 50-200 chars and answer: What does it do? When to use it? What does it return? What are the limits?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 14 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 62 | - | v1 |
No error handling documentation. What happens when the URL is unreachable, returns 404, times out, or serves a file type that cannot be converted? No recovery guidance is provided. Error responses should be actionable (e.g. 'Failed to fetch https://example.com: 404 Not Found. Verify the URL is correct.').
No parameter constraints documented. The 'url' parameter accepts any string, but the tools likely have limits (max URL length, supported schemes, timeout). These constraints should be stated in the parameter description and enforced at runtime with clear error messages.