Skip to main content
Glama

open_instance

Launch an isolated Chrome instance with its own profile and debugging port to separate browsing sessions, cookies, or proxies; returns an instance ID for targeted control.

Instructions

Opens a new independent Chrome instance. Side effects: launches a separate Chrome process with its own profile directory and remote-debugging port. Prerequisites: rejected when the server runs in --user-profile mode (Chrome's singleton profile lock). Returns: structured JSON with 'instance_id' (pass it as the 'instance_id' argument of other tools), 'host', 'port' and 'profile_dir'. Use this to isolate browsing sessions, cookies, proxies or WebMCP contexts from one another. Alternatives: 'open_tab' for additional tabs within an existing instance. Parameters: 'features' accepts a closed set - 'WEB_MCP' (enables the experimental WebMCP surface for sites that expose tools to the browser) or 'WEBGL_SOFTWARE' (forces SwiftShader software WebGL for GPU-less environments); 'headless' defaults to false (prefer false so the user can see the browser).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelNoOptional label to identify the instance. The label becomes the instance_id returned by this tool and accepted by the 'instance_id' argument of other tools. If omitted, a dynamic label is generated.
proxyNoOptional proxy server configuration.
featuresNoOptional feature presets (e.g. WEB_MCP, WEBGL_SOFTWARE).
headlessNoOptional headless mode. Encouraged to be set to false so that the user can see what happens with the browser. Defaults to false.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed7 schema fields changedv1.3.2
    • addedInput schema / properties / features / items / enum
      Added value: +[
      +  "WEB_MCP",
      +  "WEBGL_SOFTWARE"
      +]
    • removedInput schema / properties / features / items / oneOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "WEB_MCP"
      -    ]
      -  },
      -  {
      -    "enum": [
      -      "WEBGL_SOFTWARE"
      -    ]
      -  }
      -]
    • addedInput schema / properties / features / items / type
      Added value: +"string"
    • removedInput schema / properties / features / nullable
      Removed value: -true
    • removedInput schema / properties / headless / nullable
      Removed value: -true
    • removedInput schema / properties / label / nullable
      Removed value: -true
    • removedInput schema / properties / proxy / nullable
      Removed value: -true
  2. Addedv1.0.11

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: launching a separate process, own profile directory, remote-debugging port, rejection in --user-profile mode, and the structured return value. It even explains the headless default rationale. This goes well beyond a basic summary.

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?

The description is moderately long but every sentence serves a distinct purpose: purpose, side effects, prerequisites, return value, usage, alternative, and parameter details are each addressed without redundancy. It is front-loaded with the core function and structured logically.

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?

Given the tool's complexity (launching a process) and the absence of an output schema, the description provides all necessary context: return format with 'instance_id' being passed to other tools, side effects, prerequisites, and usage scenarios. It is complete for an agent to invoke correctly and interpret results.

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 baseline is 3. The description adds meaning beyond the schema by explaining the 'features' enum values ('WEB_MCP', 'WEBGL_SOFTWARE') and the rationale for headless defaulting to false. Label and proxy are not explained in the description, but the schema already covers their basic intent, so the extra explanation for two parameters justifies a 4.

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?

The description uses a specific verb-resource pair: 'Opens a new independent Chrome instance.' It clearly differentiates from siblings by explicitly mentioning 'open_tab' as an alternative for tabs within an existing instance, making the tool's unique role unambiguous.

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?

Provides explicit guidance on when to use this tool: 'Use this to isolate browsing sessions, cookies, proxies or WebMCP contexts from one another.' It also names the alternative tool ('open_tab') and conditions for rejection ('--user-profile' mode), leaving no ambiguity for the agent.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raultov/chrome-debug-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server