An MCP server that provides web search and content extraction capabilities using the Tavily API, with NATS transport support.
Two tools with complete input schemas and reasonable descriptions. tavily-search has comprehensive parameter documentation (11 params, all typed and described); tavily-extract is simpler (3 params, all typed). Descriptions are adequate (150-200 chars) but lack actionable guidance on when to use each tool vs. the other, or recovery hints. No output schemas documented. Parameter descriptions are present but generic, e.g., 'Search query' lacks format/length guidance. No error handling guidance visible. Naming is clear (verb_noun pattern). No tool annotations (readOnlyHint, destructiveHint) despite both being read-only operations.
A powerful web content extraction tool that retrieves and processes raw content from specified URLs, ideal for data collection, content analysis, and research tasks.
A powerful web search tool that provides comprehensive, real-time results using Tavily's AI search engine. Returns relevant web content with customizable parameters for result count, content type, and domain filtering. Ideal for gathering current information, news, and detailed web content analysis.
No output schemas documented. LLMs cannot plan downstream operations or extract fields without knowing response structure. tavily-search returns TavilyResponse (with results array, images, answer); tavily-extract returns TavilyExtractResponse (results array, failed_results). These must be declared in tool definitions.
Parameter descriptions lack actionable constraints. 'Search query' does not specify length limits, character restrictions, or format. 'The depth of the search' does not explain when to use 'basic' vs 'advanced' or performance/cost tradeoffs. LLMs cannot self-correct without explicit constraints.
No tool annotations. Both tools are read-only (Risk: READ_ONLY noted in metadata) but lack readOnlyHint in schema. Agents cannot distinguish safe tools from destructive ones without explicit annotations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
No error handling guidance. Code shows error responses ('Tavily API error: ...') but tool descriptions do not explain recovery steps. If API rate-limits or returns 401, LLM has no guidance on retry strategy or fallback.
No disambiguation between tools. Both search and extract are web-access tools; descriptions do not explain when to use search (for discovery/aggregation) vs extract (for deep content from known URLs). Agents may pick wrong tool.