An MCP server that provides web crawling and dense fact extraction capabilities for autonomous agents, stripping boilerplate HTML and cookie banners to deliver high-quality, LLM-ready markdown snippets
Single tool 'execute_skill_action' has a verb-noun name (positive), but the implementation is severely underdeveloped. The tool definition exists only in mcp_server.py as a JSON string listing, not as a proper MCP tool registration. Input schema is present with two parameters (search_query, max_target_results) and basic type info, but parameter descriptions are minimal (under 20 chars each). Tool description is 67 chars, borderline acceptable but lacks WHEN/WHY guidance. No output schema is documented anywhere. The client.py and example_usage.py files show mock behavior, not real implementation. No error handling, no validation, no recovery guidance. The server itself is a stub that prints a JSON status and exits, it does not implement the MCP protocol's request/response loop.
Execute a web crawling and dense fact extraction skill action
Tool definition is inferred from JSON string in mcp_server.py, not explicitly registered via MCP protocol. Tool registration, input/output schemas, and parameter handling are not visible in actual MCP server code.
No output schema documented. The client.py mock returns a dict with fields like 'crawl_task_id', 'fact_density_token_ratio_pct', 'clean_markdown_snippets', but LLMs have no way to know what fields to expect from the actual tool.
Parameter descriptions are too short and lack actionable detail. 'The search query to crawl and extract facts for' (67 chars) and 'Maximum number of target results to extract' (43 chars) do not specify format, range, or constraints. No guidance on valid query syntax, min/max for max_target_results, or expected behavior.
No error handling or recovery guidance. Tool description does not explain failure modes, retryability, or what to do if crawl fails or no results are found.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
MCP server implementation is a stub. mcp_server.py prints a JSON status message and exits, it does not implement the MCP protocol's request/response loop, tool invocation, or message handling.