cdt-smart-snapshot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CDT_MAX_DEPTH | No | Default maxDepth. | 8 |
| CDT_BROWSER_URL | No | HTTP CDP URL for puppeteer.connect. | http://127.0.0.1:9222 |
| CDT_WS_ENDPOINT | No | Prefer WebSocket CDP endpoint when set. (default: unset) | |
| CDT_SNAPSHOT_DIR | No | Screenshot output directory. | $TMPDIR/cdt-snapshots |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| smart_snapshotA | Returns a token-efficient semantic snapshot of the current page: only visible, interactive and meaningful nodes, with depth limiting and deduplication. Use this instead of take_snapshot to save context. |
| snapshot_diffA | Returns only the changes between the current page state and the previous smart_snapshot call. Added/removed/changed nodes with a few lines of context. Use this on every step after the first to consume minimal tokens. |
| screenshot_to_diskA | Takes a screenshot, saves it to disk, and returns the file path. Saves ~3000-5000 tokens per screenshot compared to returning base64. Read the file with read_file if you need to inspect it. |
| page_searchA | Search the most recent smart_snapshot tree for a keyword. Returns matching uids with role, name, and path. Call smart_snapshot or snapshot_diff first. |
| get_nodeA | Return role, path, DOM geometry, and CSS selector for one snapshot uid. Requires a prior smart_snapshot or snapshot_diff. |
| element_to_selectorA | Return a unique CSS selector for a snapshot uid (for chrome-devtools-mcp click/fill). Requires smart_snapshot or snapshot_diff first. |
| page_statusA | Report current page URL, title, readyState, loading flag, and recent console errors, page exceptions, and failed network requests. |
| snapshot_indexA | List uids from the most recent snapshot (role, name, path). Useful before page_search or get_node. Requires smart_snapshot or snapshot_diff first. |
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 8 tools
Each tool targets a distinct aspect of snapshot management: capture, diff, status, screenshot, search, node details, selector generation, and indexing. There is no overlap that would cause an agent to misselect.
All names use snake_case and are descriptive, but the pattern is mixed: some are verb-led (get_node), some noun-led (page_status), and some use prepositions (screenshot_to_disk, element_to_selector). This inconsistency makes the set less predictable than a uniform verb_noun convention.
8 tools is well-scoped for a specialized snapshot server. Each tool serves a clear purpose with no redundancy, and the count is neither too thin nor too heavy.
The server covers the full snapshot lifecycle: capture (smart_snapshot), diff (snapshot_diff), inspection (snapshot_index, page_search, get_node), and action support (screenshot_to_disk, element_to_selector). No significant gaps exist for its stated purpose.