Model Context Protocol server for webfang web scraping and content extraction library
Webfang provides 16 tools with consistent naming (verb_noun pattern) and documented schemas. However, descriptions are often generic (50-100 chars), parameter descriptions lack detail about constraints/formats, and output schemas are not explicitly documented. Error handling guidance is minimal. Most tools follow basic patterns but lack the depth expected for production-grade agent tooling. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Build an Obsidian URI for opening a file in a vault
Clean and normalize HTML content
Convert HTML content to Markdown format
Detect and resolve the path to an Obsidian vault
Detect Web Application Firewall (WAF) presence in HTML content
Extract all links from a URL or HTML content
Extract plain text from HTML content
Get accessibility tree snapshot from a URL using Chromium
Output schemas not documented. Tools return data but LLMs cannot predict field names, types, or structure. Forces agents to guess or fail on downstream tool chaining.
Parameter descriptions lack constraint details. E.g., 'format' in scrape_url lists options ('markdown', 'html', 'text', 'json') in description but should use enum schema. 'limit' in search_vault has no min/max bounds documented.
Tool descriptions are generic and under 100 chars. E.g., 'Get scraping metrics and statistics' (45 chars) does not explain what metrics, when to call it, or what structure is returned. Baseline for A+ tools is 194 chars.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Get scraping metrics and statistics
List all known WAF providers and their detection signatures
Normalize and validate a URL
Open a file in Obsidian using the Obsidian URI protocol
Parse and extract URLs from an XML sitemap
Scrape content from a URL and extract structured data
Search for notes in an Obsidian vault using semantic embeddings
Verify WAF integrity by analyzing HTML content and HTTP headers
No tool annotations despite clear risk metadata. 'open_in_obsidian' is marked WRITE but has no destructiveHint. 'detect_waf' is READ_ONLY but has no readOnlyHint. Annotations enable agents to reason about side effects.
Error handling guidance absent. Tools provide no recovery hints (e.g., 'If vault not found, try detect_obsidian_vault first'). Agents cannot self-correct on failures.