A unified MCP server for web search and page fetching — hob_search, hob_site, hob_sites.
Two tools with comprehensive parameter schemas and detailed descriptions. hunt_site has 14 well-typed parameters with clear descriptions; hunt_search has 6 parameters. Both tools document their purpose and use cases. However, output schemas are not explicitly documented in the source code, only input schemas are visible. Error handling is present but generic (no recovery guidance or categorization). Tool names lack action verbs (hunt_site, hunt_search are descriptive but not verb-noun pattern). No tool annotations (readOnlyHint, destructiveHint) despite both being read-only operations.
Perform Google searches with anti-bot stealth, CAPTCHA handling, and result extraction. Supports multiple queries, result limits, locale/timezone spoofing, and session state persistence.
Fetch and extract content from one or more URLs. Supports single-page fetch, multi-page crawl, CSS selector targeting, content extraction via Readability, HTML/Markdown output, link extraction, and sandbox wrapping for security.
Tool names lack action verbs. 'hunt_site' and 'hunt_search' are descriptive but do not follow verb_noun pattern (e.g., fetch_page, search_web). LLMs infer intent from verb-first names; these names require reading descriptions to disambiguate.
Output schemas not documented in source code. Only input schemas are visible. LLMs cannot plan downstream calls or extract fields without knowing what hunt_site and hunt_search return. Baseline: 100% of A+ tools document return types.
No tool annotations despite both tools being read-only. Missing readOnlyHint annotation prevents clients from optimizing caching and retry logic. Current spec (2026-07-28) rewards tool annotations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. No examples of error responses with actionable next steps (e.g., 'URL unreachable. Try a different URL or use hunt_search to find alternatives'). Baseline: A+ tools categorize errors as retryable/user-fixable/fatal.
hunt_site parameter 'pages' (crawl depth) lacks validation constraints in description. No mention of maximum crawl depth, rate limiting, or domain boundary enforcement. LLMs could request excessive crawls.