Skip to main content
Glama
real-browser-mcp-server
by codeiva11

browser_init

Start a configurable Chromium session for automation or testing with headless mode, proxy, video, fingerprint spoofing, WebRTC leak protection, and stale-session recovery.

Instructions

Initialize a browser session with configurable options: headless mode, proxy, viewport, video recording, resource filtering, biometric anti-detection hardware spoofing (WebGL, Canvas, AudioContext), and WebRTC leak protection. Automatically recovers stale sessions.

Input Schema

NameRequiredDescriptionDefault
proxyNo
headlessNo
aiHealingNoEnable selector fallback when a selector does not match
fingerprintNoFingerprint profile: 'random' picks a coherent realistic profile (UA + viewport + timezone + locale), or pass an object {userAgent, viewport:{width,height}, timezoneId, locale, geolocation, colorScheme}. Explicit contextOptions win on conflict.
recordVideoNoRecord continuous video of the session
widgetAssistNoAutomatically interact with embedded page widgets and challenge elements when present
enableBlockerNoFilter auxiliary scripts, telemetry, and background tracking requests
contextOptionsNoPlaywright BrowserContext options (viewport, userAgent, geolocation, permissions, httpCredentials, extraHTTPHeaders, etc.)
blockWebRTCLeaksNoPrevent local IP leaks via WebRTC when using proxies
spoofFingerprintNoSpoof WebGL vendor/renderer, Canvas noise, and AudioContext to defeat bot fingerprinting

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.3.10
    • addedInput schema / properties / fingerprint
      Added value: +{
      +  "description": "Fingerprint profile: 'random' picks a coherent realistic profile (UA + viewport + timezone + locale), or pass an object {userAgent, viewport:{width,height}, timezoneId, locale, geolocation, colorScheme}. Explicit contextOptions win on conflict.",
      +  "type": [
      +    "string",
      +    "object"
      +  ]
      +}
  2. First observedv3.2.13

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose some behavior: automatic recovery of stale sessions, fingerprint spoofing, WebRTC leak protection, and resource filtering. However, it omits key lifecycle semantics an agent needs — whether a second call replaces or reuses an existing session, whether prior state is destroyed, and what a 'session' handle looks like.

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?

Two sentences, no filler, and the core action is front-loaded before the option enumeration. The long comma-separated capability list is dense but each item maps to a real parameter, so little is wasted.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter session-creation tool with no annotations and no output schema, the description covers the option surface but leaves lifecycle questions unanswered: what the call returns, whether sessions must be closed, and how repeated calls behave. It is adequate but not sufficient on its own.

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 80%, so the schema already documents nearly all ten parameters, including the non-obvious ones (fingerprint, aiHealing, widgetAssist). The description's option list largely restates those parameter names and adds no format, default, or conflict-resolution detail beyond what the schema provides, making baseline 3 appropriate.

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?

The description gives a specific verb and resource ('Initialize a browser session') and enumerates the capability areas (headless, proxy, viewport, video, filtering, spoofing, WebRTC). It never names or distinguishes itself from siblings such as browser_close or navigate, so sibling differentiation is absent, but the purpose itself is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: no statement that this must be called before navigate/click/see_page, no condition for choosing it over an existing session, and no mention of pairing with browser_close. 'Automatically recovers stale sessions' is a behavioral trait, not usage routing, so an agent gets no help deciding when to invoke this.

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