MCP server that provides web crawling and markdown extraction capabilities via Crawl4AI API
The Crawl4AI MCP server has only one tool ('md') with minimal definition quality. The tool name lacks a clear action verb (should be 'crawl_url' or 'extract_markdown'), the description is vague (does not explain when to use vs alternatives, what the output structure is, or error handling), and the input schema is incomplete. The 'f' parameter is cryptic ('Output format (raw)') with no enum constraints or explanation of what 'raw' means or what other formats exist. No output schema is documented, the response structure is inferred from smoke tests but never formally specified. The server uses bearer token authentication (good security posture) but does not describe the permission model or what scope the tool requires. The single tool falls well below production baseline due to missing descriptions, incomplete parameters, and lack of output documentation.
Crawl a URL and extract markdown content
Tool name 'md' does not start with an action verb and does not clearly convey intent. LLMs cannot infer the tool's purpose from the name alone.
Tool description 'Crawl a URL and extract markdown content' is extremely vague (26 characters). Missing: when to use it vs alternatives, what the output structure is, whether it makes external network calls, how long it takes, what error cases exist, and retry guidance.
Input parameter 'f' is cryptic and underdescribed. The description '(raw)' does not explain what values are valid, what 'raw' means, or what other formats exist. Should use an enum constraint.
No output schema documented. Response structure is inferred from smoke tests (success: boolean, markdown: string) but never formally specified in the tool definition. LLMs cannot plan downstream operations without knowing return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 21 | - | v1 |
Parameter 'url' lacks a description explaining format expectations, URL validation, timeouts, or what protocols are supported (http, https, file://).
No error handling guidance. How does the tool respond to invalid URLs, network timeouts, 404s, blocked content, or rendering failures? What should the LLM do next?