Pick the best LLM (and reasoning effort) for any task in ~1 second. TypeSafe's Jev decision model analyzes the task; live OpenRouter pricing and benchmark-based scores balance intelligence, speed and cost. Plugin for Claude Code, Claude Desktop and Codex.
Four tools with comprehensive schemas and detailed descriptions. All tools have proper input schemas with type definitions and parameter descriptions. Tool names follow verb_noun convention (recommend_model, compare_models, search_models, router_status). Descriptions are substantive (194-250 chars average), exceeding the 10-1024 char baseline. Parameters use Zod validation with enums, min/max constraints, and clear descriptions. Output structure documented via structuredContent pattern. Main gaps: no explicit error recovery guidance in descriptions, no confirmation pattern for potentially expensive operations (recommend_model with ping), and output schemas not formally documented in code comments.
Compares 2-8 specific models side by side: price, context, intelligence, coding and speed. With a task, also estimates each model's fit, best reasoning effort, cost and time for that task. Accepts exact OpenRouter ids or loose names like "opus", "gpt 6 astra", "deepseek flash".
Recommends the best LLM and reasoning effort for a task. TypeSafe's Jev decision model analyzes the task in about half a second (type, difficulty, reasoning depth, tool use, vision, latency and volume needs), then live OpenRouter models are ranked on quality versus the task's needs, estimated cost and estimated time. Returns the pick, runner-ups, the smartest/fastest/cheapest alternatives, and exact commands to switch to the model.
Diagnoses the router's setup: Jev availability, catalog freshness, Intel data, and any configuration issues. Optionally pings Jev and OpenRouter to verify connectivity.
Searches the live OpenRouter catalog with filters and sorting (intelligence, coding, price, speed, context, newest). Use it to browse options so the user can decide.
No explicit error recovery guidance in tool descriptions. When recommend_model fails (NoCandidatesError), the error message includes filtered-out reasons, but the description does not tell LLMs what to do next (e.g., 'relax constraints and retry' or 'call search_models to browse options').
recommend_model with ping=true can incur costs (~$0.0001) but lacks a confirmation/dry-run pattern. Agents may invoke this without understanding the cost implication. No idempotentHint or destructiveHint annotation visible in tool registration.
Output schemas not formally documented in code. Tool descriptions mention 'Returns the pick, runner-ups, alternatives' but the actual JSON structure of structuredContent is not specified in comments or JSDoc. LLMs cannot reliably extract fields from undocumented responses.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
compare_models accepts 1-8 models but no guidance on what happens if models are not found or invalid. Error handling for typos (e.g., 'opus' vs 'claude-opus') is not documented.
search_models limit parameter defaults to 15 but no guidance on pagination or how to retrieve the next page. If catalog has 1000+ models, agents cannot discover all options.