mcp-cdp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CDP_MODE | No | Access mode: read-only (default), read-write, or admin. | read-only |
| CDP_PORT | Yes | The remote debugging port of the target Chrome/Electron app, e.g. 9222. | |
| CDP_DRY_RUN | No | Set to 'true' to log interactions without dispatching them. | |
| CDP_ALLOW_EVAL | No | Set to 'true' to enable JavaScript evaluation in admin mode (requires human confirmation). | |
| CDP_ALLOW_REMOTE | No | Set to 'true' to allow connections to non-loopback endpoints. | |
| CDP_TARGET_ALLOWLIST | No | Comma-separated URL patterns restricting which targets can be interacted with. Empty means all. | |
| CDP_PROTECTED_TARGETS | No | Comma-separated URL patterns for targets that can be inspected but never interacted with. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_targetsA | List the debuggable targets on the DevTools endpoint — pages, webviews and Electron windows — with their id, type, title and URL. Start here to find the target id every other tool needs. |
| dom_snapshotA | Return the rendered HTML of a target — the whole document, or just the subtree of the first element matching a CSS selector. This is the DOM the agent should read instead of a screenshot: it carries far more information and is exact. |
| query_domA | Return the outer HTML of every element matching a CSS selector (capped). Use to locate the exact elements to click or type into, and to confirm what is actually on the page. |
| console_logsA | Return recent console output and uncaught exceptions captured from the target since it was first inspected. The fastest way to see why something failed — errors that never appear on screen. |
| network_requestsA | Return recent network requests captured from the target — method, URL, status, MIME type, failures. Headers are never captured and sensitive URL query values are redacted. |
| screenshotA | Capture a PNG screenshot of the target's viewport. Prefer dom_snapshot for reading content; use this for visual layout, rendering and image checks. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool maps to a distinct concern: visual rendering, target discovery, full DOM reading, element querying, console output, and network activity. The only possible confusion is between dom_snapshot and query_dom, but their descriptions clearly separate whole-document/subtree reading from selector-based element lookup.
Names are snake_case and readable, but the pattern is mixed: some are verb_noun (list_targets, query_dom), some are noun_noun (console_logs, network_requests, dom_snapshot), and screenshot is a bare verb. Not chaotic, but not a consistent convention.
Six tools is a well-scoped size for a CDP inspection server. Each tool covers a meaningful slice of browser debugging without redundancy or bloat.
The core read-only inspection workflow is well covered: discover targets, read DOM, query elements, capture screenshots, and inspect console/network failures. Minor gaps exist—JS evaluation and navigation are not exposed—but they are not obvious dead ends for the apparent observational purpose.