Skip to main content
Glama

refresh_llm_models

Read-only

Получить актуальный список LLM-моделей из каталога OmniRoute.

    OmniRoute сам опрашивает Google раз в час; `force_live=True` просит релей
    сходить в Google прямо сейчас (жёсткий rate-limit на стороне релея:
    не чаще 10 секунд). Полезно, когда клиент видит 404 на недавно
    добавленную модель.

    Args:
        force_live: True — передать `?live=1` на /v1/models и дождаться
            свежего каталога; False (по умолчанию) — вернуть кэш.

    Returns:
        {
          "models": [...],              # OpenAI-совместимый список
          "aliases": {"gemini-flash": "gemini-3.5-flash-lite", ...},
          "last_refreshed_at": float,   # unix timestamp
          "source": "cache" | "live",
        }

    Raises:
        MCPError: ключ невалиден или OmniRoute недоступен.
    

Input Schema

NameRequiredDescriptionDefault
force_liveNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: a hard relay-side rate limit of one live fetch per 10 seconds, the caching behavior, and the error condition (MCPError on invalid key or unreachable relay). This explains why idempotentHint=false is set, so there is no contradiction with the annotations.

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?

Front-loaded with the purpose, then organized into Args/Returns/Raises blocks with no filler. It is somewhat verbose but every section contributes information the structured fields lack.

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?

With no output schema, the description supplies the return shape (models, aliases, last_refreshed_at, source) and the error case, which is exactly what an agent needs. Only the missing sibling differentiation keeps it from being fully complete.

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

Parameters5/5

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

Schema coverage is 0%, so the description carries the full burden and does so well: force_live=True passes ?live=1 and waits for a fresh catalog, force_live=False (default) returns cache. It also documents the concrete rate-limit cost of the live path, which the schema does not.

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

Purpose4/5

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

States a specific verb+resource: fetching the current LLM model catalog from OmniRoute, with the cache-vs-live distinction made explicit. However, it never differentiates itself from the strongly overlapping siblings list_models, list_live_models, and list_available_llm, so an agent cannot tell from the text alone which one to pick.

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

Usage Guidelines3/5

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

Provides a concrete trigger ('useful when the client sees a 404 on a recently added model'), which is genuine usage context. But it names no alternatives and gives no when-not guidance, which is a real gap given three similarly named list_* siblings that could be confused with it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.