Skip to main content
Glama

Update Engine Config

update_engine_config
Idempotent

Enable, disable, reorder, or cap search and fetch engines in the local rotation config. Use when a provider must be switched on or off, reordered, or limited by daily/monthly call quotas.

Instructions

Change the local engine configuration: enable or disable engines, set the search and fetch rotation order, and set monthly or daily call limits per engine. Use it when the user wants a provider switched on or off, reordered or capped; call get_engine_status first for valid ids, current order and access modes. The tool writes the shared configuration file of this installation, so the change applies to later searches of every client without a restart. API keys are not accepted here: an engine that still needs a key or extra credentials cannot be enabled until they are set in the dashboard (open_dashboard). Returns the effective per-engine configuration, or an error naming the offending ids — on error nothing is written.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
enabledNoPer engine id (see get_engine_status): true enables, false disables. Enabling an engine whose access mode is api_key_required or extra_configuration_required fails until the credential exists in the dashboard.
fetchOrderNoComplete fetch rotation: every fetch-capable engine id exactly once, the first entry is tried first.
dailyLimitsNoPer engine id: cap for locally counted calls per day, or null to remove the override. Applies to providers whose quota period is counted per day.
searchOrderNoComplete search rotation: every search-capable engine id exactly once, the first entry is queried first. Fetch-only engines are not part of this order and keep their place behind it.
monthlyLimitsNoPer engine id: cap for locally counted calls per month, or null to remove the override and fall back to the provider default. The cap drives rotation and strict-free ordering; it does not change the provider account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, it discloses that the write targets the shared configuration file of the installation, applies to later searches of every client without a restart, rejects API keys, and that on error nothing is written. The atomicity guarantee is genuinely useful context for a mutation tool.

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?

Three front-loaded sentences, the primary action first, followed by prerequisites and failure behavior; nearly every clause earns its place, though the credential paragraph is somewhat dense.

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

Completeness5/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 still explains the return value (effective per-engine configuration or an error naming offending ids) and the no-write-on-error behavior, covering what an agent needs for a 5-parameter nested-object mutation.

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 100% and the schema itself richly documents each of the five parameters (rotation semantics, null-to-remove, access-mode failures). The description reinforces but does not meaningfully extend these meanings, so the baseline of 3 applies.

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 (Change) and resource (local engine configuration), then enumerates the three capabilities: enable/disable, rotation order, and call limits. An agent can distinguish it from search_web, fetch_url, get_engine_status, and open_dashboard without opening the schema.

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

Usage Guidelines5/5

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

Explicitly says when to use it (user wants a provider switched on/off, reordered or capped) and gives a prerequisite: call get_engine_status first for valid ids, current order and access modes. It also states when it will not work (engines needing keys must be set via open_dashboard).

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