Skip to main content
Glama

Probe FxAccounts / Sync state without using a real account

browser_sync_probe

Inspect Firefox Sync/FxAccounts state without a real sign-in, report what is reachable and whether an account is signed in, and install or remove a mock account for offline testing.

Instructions

Inspect the Sync/FxAccounts surface WITHOUT signing in to any real account. MEASURED: resource://gre/modules/FxAccounts.sys.mjs exports FxAccounts whose constructor takes a mocks object (constructor(mocks = null)), which is the supported way to exercise account code paths offline — this is how the Sync test suites run. This tool reports what can be reached and whether a real account is signed in; it never sends credentials anywhere.

Input Schema

NameRequiredDescriptionDefault
emailNoFake account email (default mock-user@example.test)
actionYesstatus = inspect only; mock-signin installs a fake account; mock-signout removes it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=false alone only tells the agent the tool isn't a pure read; the description adds the safety-relevant context that no real credentials are sent and that mock accounts are installed/removed. It doesn't say whether mock state persists across calls or how failures surface, so it isn't fully transparent.

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

Conciseness3/5

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

The purpose and safety constraint are front-loaded, which is good, but the middle clause quoting the module path and constructor signature (constructor(mocks = null)) is implementation trivia that doesn't help an agent select or invoke the tool.

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?

No output schema exists, and the description partially compensates by stating what is reported (reachable surface, real-account sign-in state). That is adequate for a 2-parameter, enum-driven tool, though the exact shape of the report is left unspecified.

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 the action enum and default mock email fully documented in-schema. The description mentions the reachability/real-account status output but adds no format or semantics beyond the schema, so baseline 3 applies.

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?

Names a specific verb+resource: inspect the Sync/FxAccounts surface and report what is reachable and whether a real account is signed in. The offline/mock framing implicitly separates it from browser_sync_now, but no sibling is named explicitly, so differentiation still requires the agent to infer.

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?

"Inspect ... WITHOUT signing in to any real account" gives a clear condition for when this tool applies, and calling it the way the Sync test suites run frames its intended context. It stops short of naming alternatives (e.g. browser_sync_now) or stating when not to use it.

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