A Model Context Protocol server with Exa which does web search
Single tool 'search' has a comprehensive description (1,200+ chars) covering use cases, features, and best practices, exceeding typical baselines (194 chars avg). Input schema is complete with proper types, enums, and constraints (query required; category enum; numResults 1-50; boolean flags). However, description is verbose and could be condensed for LLM efficiency. No output schema is documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Tool name 'search' is generic; 'search_exa' or 'search_research_and_news' would be clearer. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present.
A powerful search tool using Exa's neural search API for comprehensive research and news discovery. When to use this tool: - Researching academic topics with scholarly papers - Finding recent news on specific topics - Gathering information from multiple reliable sources - Cross-referencing information across different types of content - Deep diving into specific research areas - Fact-checking against reliable sources - Exploring recent developments in any field Key features: - Neural search for better semantic understanding - Separate research paper and news categories - Automatic content highlighting - Source credibility ranking - Relevance scoring - Support for various content types Search categories: 1. Research Papers: - Academic publications - Scientific journals - Technical documents - Conference proceedings - Preprints and archives 2. News: - Current events - Industry news - Technology updates - Company announcements - Expert analysis Best practices: 1. Use specific, focused queries 2. Include relevant technical terms 3. Consider time relevance 4. Use boolean operators when needed 5. Start broad, then refine 6. Cross-reference multiple sources 7. Verify information accuracy Parameters explained: - query: Your search query string - category: Type of content to search ("research" or "news") - numResults: Number of results to return (1-50) - includeContent: Whether to include full text content - highlightResults: Whether to include relevant text highlights
No output schema documented. LLMs cannot predict response structure (fields, types, nesting). Exa API returns ExaResult[] with title, url, score, content.text, content.highlights, none of this is declared in tool definition.
Tool name 'search' is generic and ambiguous. Does not start with clear verb or indicate domain (Exa, research, news). Recommend 'search_exa' or 'search_research_papers_and_news' to disambiguate from other search tools.
Description is 1,200+ chars, 3x the baseline (194 chars avg). Verbose formatting with markdown headers and bullet lists wastes tokens. Condense to 200 - 300 chars: state WHAT (neural search), WHEN (research/news discovery), and key params. Move detailed guidance to parameter descriptions.
No error handling or recovery guidance. If API fails, LLM receives raw error with no actionable next step. Add error classification (retryable vs user-fixable) and suggest alternatives (e.g., 'Try a simpler query' or 'Check API key').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No tool annotations. 'search' is read-only (does not modify state), but readOnlyHint is not set. Agents cannot distinguish safe tools from destructive ones without this metadata.