MCP Server providing web search via Azure OpenAI Responses API
Single tool 'web_search' has a clear action verb and comprehensive input schema with proper types and descriptions. Output schema is well-structured with Zod validation. However, the tool description (97 chars) is below the 194-char baseline and lacks context on when to use it vs. alternatives. Parameter descriptions are present but minimal. Error handling returns generic text errors without recovery guidance. No tool annotations (readOnlyHint, etc.) despite being a read-only operation.
Search the web for real-time information. Returns results with source citations.
Tool description is too brief (97 chars vs. 194-char baseline). Lacks context on when to call this tool, what it returns, and how results are structured. LLMs need richer descriptions to select tools confidently.
No tool annotations despite being a read-only operation. Missing readOnlyHint annotation that would signal to agents this tool is safe to call without side effects.
Error handling returns generic 'Error: <message>' text without recovery guidance. Per pattern:recovery-guide, errors should tell the LLM what to do next (e.g., 'Search failed. Retry with a simpler query or different keywords.').
Parameter 'search_context_size' description is generic ('Amount of search context'). Should explain what 'low', 'medium', 'high' mean in concrete terms (e.g., 'low: 3 results, medium: 5 results, high: 10 results').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2025-06-18+ | v2 |
Output schema documents structure but tool description does not explain what 'citations' field contains or how to interpret 'start_index' and 'end_index'. LLMs need explicit guidance on output format.