The server has only one tool (crawl-tor) with significant quality gaps. The tool name lacks a clear action verb (should be 'fetch_tor_page' or 'get_tor_content'), the description is unprofessional and grammatically poor ('i will give you'), parameters lack descriptions entirely, and the output schema is not properly documented for agent chaining. The tool is hardcoded without flexibility for error cases or pagination. No input validation beyond basic URL type checking. Error handling returns raw errors without guidance. Overall, this falls well below production baseline for agent tool design.
Crawl a Tor website and i will give you the full webpage to you, and its up to you to explain that, please explain all.
Tool name 'crawl-tor' lacks action verb prefix. Should be 'fetch_tor_page', 'get_tor_content', or 'read_tor_website' to clearly signal the action to LLMs.
Tool description is unprofessional and lacks required context. Current: 'Crawl a Tor website and i will give you the full webpage to you, and its up to you to explain that, please explain all.' Should explain WHAT it does, WHEN to use it, and what the output contains.
URL parameter 'url' has NO description. LLMs cannot determine valid formats, whether relative URLs are accepted, or whether .onion addresses are required. Input schema validation is insufficient.
Output schema is not documented. While the code shows it returns {content: string}, there is no inputSchema or outputSchema declaration in the tool registration that would be visible to agents. The tool registers inputSchema as a Zod object but does not expose it to MCP.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
No input validation or error guidance. When torRequest fails, it returns raw errors ('Error crawling Tor website') without telling the LLM what to do next. Missing instructions like 'Check if the .onion address is reachable' or 'Try again in 10 seconds.'
Tool is not idempotent. Repeated calls to the same Tor URL may return different content (page may have changed). No documentation of this limitation.
No handling for large responses. Content extraction via Cheerio could return multi-megabyte HTML converted to markdown with no pagination or truncation. Large responses exhaust context windows.
Tool lacks composition fields. Response only contains 'content' text; it does not return metadata (status_code, title, links_count, page_url) that downstream tools might need for chaining.