MCP server for routing Claude Desktop workflows to local Ollama models.
Server has 7 tools with explicit registration, Zod schemas, and tool annotations. Naming follows verb_noun convention (hybrid_*). Descriptions are present (avg 120 chars) but lack actionable context for LLM selection. Parameter schemas are well-typed with enums and constraints, but descriptions are sparse or missing for nested objects. Output schemas are undocumented, LLMs cannot predict response structure. Error handling exists but lacks recovery guidance. No pagination support despite potential for large model lists.
Generate a response from a chat-style message array.
Generate text using the active provider, an explicit Ollama model, or client sampling.
List installed Ollama models and recommended local model profiles.
Recommend a local Ollama model for reasoning, coding, balanced, chat, or fast tasks.
Route Anthropic Messages API requests through the hybrid router with optional model override and fallback.
Persist the active MCP routing provider and model. Does not change Claude Desktop's native model selector.
Check Ollama health, active model state, and routing config.
Output schemas undocumented. LLMs cannot predict response structure for any tool. hybrid_status, hybrid_list_models, hybrid_generate, hybrid_chat return JSON but no schema is visible in tool definitions.
Parameter descriptions missing or generic. 'options' object in hybrid_generate and hybrid_chat has no description; nested properties (temperature, top_p, etc.) lack guidance on when to use each. LLMs cannot reason about parameter selection.
No pagination support. hybrid_list_models returns all installed models without limit or offset. Large Ollama installations could return hundreds of models, bloating context and degrading LLM reasoning.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Error handling lacks recovery guidance. Tools use jsonResult() wrapper with no error classification or actionable next steps. If hybrid_generate fails, LLM has no hint whether to retry, adjust parameters, or call a different tool.
hybrid_route_anthropic description vague. 'Route Anthropic Messages API requests through the hybrid router' does not explain when to use this vs hybrid_generate/hybrid_chat, what the request object structure is, or what fallback behavior means.