Skip to main content
Glama

recommend_models

[EN] Fetches the most cost-effective and capable models from OpenRouter based on live benchmarks. USE THIS TOOL BEFORE calling run_subagent if you are unsure which model ID to use or want to optimize for cost/quality.

Instructions

[EN] Fetches the most cost-effective and capable models from OpenRouter based on live benchmarks.
USE THIS TOOL BEFORE calling `run_subagent` if you are unsure which model ID to use or want to optimize for cost/quality.
include_free=True also admits ':free' variants (non-ZDR — prompts may be
logged/trained on); they require allow_non_zdr or the openrouter-free
provider to actually run.

[PL] Pobiera rekomendacje modeli z OpenRouter na podstawie benchmarków.
Użyj tego narzędzia ZANIM wywołasz `run_subagent`, jeśli nie znasz dokładnego ID modelu.
include_free=True dopuszcza warianty ':free' (non-ZDR — prompty mogą być
logowane/trenowane); do uruchomienia wymagają allow_non_zdr albo
providera openrouter-free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
task_typeNocoding
include_freeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.1
    • addedInput schema / properties / include_free
      Added value: +{
      +  "default": false,
      +  "title": "Include Free",
      +  "type": "boolean"
      +}
  2. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and delivers a meaningful disclosure: include_free=True admits non-ZDR ':free' variants whose prompts may be logged/trained on, and these require allow_non_zdr or the openrouter-free provider. That is real side-effect/privacy context beyond a simple getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Content is front-loaded and each sentence earns its place within a language, but the full EN and PL duplication roughly doubles the payload for what is a short instruction set.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and the critical behavioral caveat (non-ZDR free variants) is covered. The gaps are the undocumented limit and task_type semantics rather than missing high-risk information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains include_free thoroughly (ZDR implications and the allow_non_zdr requirement) but leaves limit and task_type entirely undocumented, so only one of three parameters gains meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (fetches model recommendations from OpenRouter) and the basis (live benchmarks, cost/quality). It clearly distinguishes itself from the sibling run_subagent by being the model-selection step that precedes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to call this BEFORE run_subagent when the model ID is unknown or cost/quality optimization is wanted. Strong when-to-use guidance, though it does not state when to skip it (e.g., when the model ID is already known).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.