Skip to main content
Glama

browser_emulate_media

Destructive

Emulate CSS media features such as color scheme, contrast, forced colors, reduced motion, and media type to test how pages respond under different user and display settings.

Instructions

Emulate CSS media features for the page, for example switch between the light and dark color scheme. Omitted parameters are left unchanged; null clears an override.

Input Schema

NameRequiredDescriptionDefault
mediaNoChanges the CSS media type of the page
sessionNoSession id (default "default"). Each session is an isolated browser (own cookies, tabs) that runs in parallel with the others. Created on first use.
contrastNoEmulates the prefers-contrast media feature
colorSchemeNoEmulates the prefers-color-scheme media feature
forcedColorsNoEmulates the forced-colors media feature
reducedMotionNoEmulates the prefers-reduced-motion media feature

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, so the mutation profile is covered. The description adds useful state-management behavior (omitted = unchanged, null = clear), but doesn't explain persistence across navigation, whether a reload is needed, or how session isolation affects the emulation.

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?

Two front-loaded sentences with zero waste: the first states what it does with an example, the second states the state semantics. Nothing redundant.

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?

For a six-parameter, no-output-schema tool, the description covers purpose, example, and reset/omission semantics adequately. The only gap is that it doesn't describe lasting effect or interaction with navigation/reload, which an agent might reasonably wonder about for an emulation tool.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents each enum parameter. The description nonetheless adds cross-parameter semantics absent from the schema: omitted values are preserved and null resets an override, which materially guides correct invocation across all six params.

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 (emulate) and resource (CSS media features for the page), with a concrete example (light/dark color scheme). An agent can distinguish this from siblings like browser_resize or browser_evaluate 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 Guidelines3/5

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

The description clarifies state semantics ('Omitted parameters are left unchanged; null clears an override') but gives no explicit when-to-use guidance or alternatives. It doesn't say when emulation is preferable to, say, resizing the viewport or reloading, leaving usage context implied.

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