Skip to main content
Glama

Reset a preference to its default

browser_reset_pref
Destructive

Removes the user-set value of a Firefox preference so it falls back to the built-in default, and reports whether a user value existed before and after.

Instructions

Remove the user value of a preference so it falls back to the built-in default (Services.prefs.clearUserPref). Reports whether it had a user value before and whether it still has one after. Pair with browser_search_prefs to find the name, and browser_get_pref to see the current effective value.

Input Schema

NameRequiredDescriptionDefault
nameYesPreference name

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, and the description adds real value beyond them by disclosing exactly what is removed (the user value, not the preference itself) and what the fallback behavior is. It also says the result reports pre- and post-state, which substitutes for the missing output schema; what it does not state is whether the removed value is recoverable or how to capture it beforehand.

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

Conciseness5/5

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

Three sentences, each earning its place: the action and effect first, then the return information, then the companion tools. No redundancy with the title or schema.

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?

For a one-parameter tool with annotations present and no output schema, the description covers the mutation's effect, the fallback behavior, the reported state change, and how to discover and verify the target. Nothing an agent needs in order to call it correctly is missing.

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 coverage is 100% with a single required 'name' parameter, so the schema already carries the parameter meaning. The description only implies the name is a preference identifier via the browser_search_prefs hint, adding no format or resolution detail beyond the schema; baseline 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 ('Remove the user value') on a specific resource ('a preference') and spells out the resulting semantics ('falls back to the built-in default'), even naming the underlying API (Services.prefs.clearUserPref). This cleanly separates it from sibling mutations like browser_set_pref and from reads like browser_get_pref.

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?

Gives an explicit workflow: use browser_search_prefs to obtain the name and browser_get_pref to check the current effective value first. It names the alternatives and the condition that selects them, so an agent knows how to prepare for and verify the call rather than guessing.

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

Deploy Server

Other Tools