Skip to main content
Glama
danilin-em

chrome-remote-debugging-mcp

by danilin-em

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CDP_URLNoChrome remote-debugging originhttp://localhost:9222
SSH_PROXY_TONoSSH target, e.g. user@remote. Presence enables the tunnel.
SSH_PROXY_PORTNoFixed local port for tunnel. Auto-assigned when unset.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Check connectivity to Chrome's DevTools endpoint (CDP_URL).

Returns {"connected": True, "cdp_url", "browser", "protocol"} when Chrome answers, or {"connected": False, "cdp_url", "error": ...} when it is unreachable.

list_tabsA

List open Chrome page tabs.

Returns {"tabs": [{id, title, url, type}, ...]} or {"error": ...} if Chrome is unreachable.

navigateA

Navigate a Chrome tab to url.

Uses the first page tab when tab_id is omitted. Returns {"tab_id", "url", "frameId"} on success, {"error": ...} otherwise.

evaluateA

Evaluate a JavaScript expression in a Chrome tab.

Uses the first page tab when tab_id is omitted. Awaits promises and returns the value by value. Returns {"tab_id", "value", "type"} on success, or {"error": ...} on failure or an uncaught JS exception.

cdp_commandA

Send a raw CDP command and return its raw result — escape hatch.

Use when the higher-level tools don't cover what you need. method is any CDP method (e.g. "Page.captureScreenshot", "DOM.getDocument", "Network.enable"); params are its parameters. Runs against the given tab (or the first page tab). Note: this targets a page websocket, so page-domain methods work; browser-level domains (Browser.*, Target.*) do not. Returns {"tab_id", "method", "result"} or {"error": ...}.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each high-level tool has a distinct purpose: ping checks connectivity, list_tabs enumerates tabs, navigate changes the URL, and evaluate runs JavaScript. The raw cdp_command is explicitly an escape hatch for unmatched needs, so there is minimal overlap confusion.

Naming Consistency3/5

Naming mixes bare verbs (ping, navigate, evaluate), a verb_noun (list_tabs), and a noun_noun (cdp_command). This is not fully consistent, though the intent of each tool remains clear.

Tool Count5/5

Five tools is a well-scoped set for a Chrome remote debugging server. It covers the essential actions (connect, inspect, act) without unnecessary bloat, and the raw CDP command serves as a flexible fallback.

Completeness4/5

Core workflows are covered: check connectivity, enumerate tabs, navigate, and execute JavaScript. A minor gap is the lack of tab lifecycle management (open/close) and browser-level CDP operations, but these are often accessible via cdp_command for page domains.

Maintenance

ActivityStale
ResponsivenessNo issues