MCP server wrapping local Ollama models - offload bulk generation, summarisation, classification, and code tasks from API-priced orchestrators to a model running on the user's own hardware.
Server has 4 tools with complete input schemas and descriptions. Naming follows verb_noun convention (local_generate, local_analyze, list_models, pull_model). Descriptions are present and adequate (60-120 chars), explaining WHAT each tool does. However, parameter descriptions lack actionable constraints (e.g., temperature range 0.0-2.0 is stated but not validated; maxTokens has no bounds; imagePaths lacks format guidance). Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Security: loopback validation is strong, but image file reading lacks explicit bounds enforcement in visible code. Composition is sound: tools are single-purpose and chainable.
List all available models in the local Ollama instance.
Analyze images with a vision model. Requires a vision-capable model like qwen2.5vl:7b.
General-purpose text generation. Use this for any task that doesn't need vision.
Download and cache a model from the Ollama registry.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Agents must guess what local_generate returns.
Parameter constraints lack validation guidance. temperature (0.0-2.0) and maxTokens are stated in descriptions but not enforced or bounded in schema. imagePaths lacks format/size constraints in description.
Error handling provides no recovery guidance. If model not found or Ollama unreachable, LLM receives no actionable next step (e.g., 'Call list_models() first').
imagePaths parameter in local_analyze lacks explicit format description. Should state: 'PNG or JPEG files only, max 32 MB per file' in parameter description, not just tool description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
pull_model lacks idempotency documentation. If called twice with same model, does it re-download or skip? Agents need to know if retries are safe.