Claude Code MCP server for Ollama Web Search and Web Fetch APIs
Two tools with basic schemas and minimal descriptions. web_search and web_fetch have parameter types defined (string, integer) but descriptions are under 50 chars and lack context on when to use them, prerequisites, or what the LLM should expect. No output schema documented. No error recovery guidance. Parameter descriptions are present but generic. No tool annotations (readOnlyHint). Naming is clear (verb_noun pattern) but descriptions fail to explain WHAT the tool does beyond a one-liner, WHEN to use it, or dependencies.
Fetch a webpage using Ollama's hosted API.
Search the web using Ollama's hosted API.
Tool descriptions are under 50 characters and lack context. 'Search the web using Ollama's hosted API' does not explain when to use this vs other search tools, what format results are in, or that an API key is required.
No output schema documented. LLMs cannot plan downstream calls or extract structured data. web_search returns formatted text with title/url/content; web_fetch returns title/content/links. These should be formally declared.
No error recovery guidance. web_search and web_fetch catch HTTP errors and request errors but return raw error strings ('HTTP error from Ollama web_search API: 401, Unauthorized'). LLMs cannot infer what to do next.
No tool annotations. Both tools are read-only but lack readOnlyHint annotation. This prevents clients from optimizing caching, retry logic, or safety checks.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Parameter 'max_results' in web_search has no constraint documentation. Code caps it at 10 but description does not state the range (1-10). LLMs may pass invalid values.