A side-by-side look at the Charlotte and Domscout MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Charlotte for browser automation work as a local process; choose Domscout for browser automation as a local process. You can also run both side by side in one mcpServers block.
charlotte_navigate, charlotte_back, charlotte_forward.DOMSCOUT_API_KEY, DOMSCOUT_BASE_URL, DOMSCOUT_DOCS_BASE_URL.domscout_check_credits, domscout_extract_markdown, domscout_capture_screenshot.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 68/100 · Great | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | DOMSCOUT_API_KEYDOMSCOUT_BASE_URLDOMSCOUT_DOCS_BASE_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 182 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 23 | 10 |
| Full listing | View Charlotte | View Domscout |
charlotte_navigateLoad a URL in the active page. Returns page representation after navigation. Default minimal detail includes landmarks, headings, and interactive element counts — use charlotte_find to locate specific elements, or pass detail: 'summary' to get the full element list.charlotte_backNavigate back in browser history. Returns page representation after navigation.charlotte_forwardNavigate forward in browser history. Returns page representation after navigation.charlotte_reloadReload the current page. Returns page representation after reload.charlotte_observeGet current page state without performing any action. Use detail levels to control verbosity: "minimal" for landmarks, headings, and interactive element counts by landmark (use charlotte_find to get specific elements with actionable IDs, or observe({ detail: "summary" }) to see all elements), "summary" (default) for content summaries and full element list, "full" for all text content. Use view: "tree" for a compact structural outline (cheapest orientation tool), or view: "tree-labeled" to include labels on interactive elements (still much cheaper than minimal JSON, and shows which button/link/input is which).charlotte_findSearch for elements matching criteria. Filters interactive elements by text, role, type, or spatial proximity. Use the selector parameter to find DOM elements by CSS selector — this reaches elements not in the accessibility tree (custom widgets, non-semantic divs). Selector results return Charlotte element IDs usable with click, hover, drag, etc.charlotte_screenshotCapture a visual screenshot. Fallback for when structured representation isn't sufficient (complex visualizations, canvas elements, images). Use save: true to persist as a file artifact that can be referenced later.charlotte_screenshotsList all saved screenshot artifacts. Returns metadata for each saved screenshot including ID, filename, page URL, and timestamp.charlotte_screenshot_getRetrieve a previously saved screenshot artifact by its ID. Returns the image data and metadata.charlotte_screenshot_deleteDelete a saved screenshot artifact by its ID. Removes the file from disk.charlotte_diffCompare current page state to a previous snapshot. Returns structural diff showing added, removed, moved, and changed elements.charlotte_clickClick an interactive element on the page. Returns full page representation after the click.domscout_check_creditsBalance, quota, rate limit, and price listdomscout_extract_markdownRead a page as clean Markdown (`fast:true` skips the browser)domscout_capture_screenshotCapture PNG/JPEG/WebP/PDFdomscout_extract_dataExtract named fields as typed JSONdomscout_inspect_pageRead the accessibility tree and interactive elementsdomscout_automate_pageRun allowed actions and capture the resultdomscout_crawl_siteRun a bounded, allowlisted, robots-respecting crawldomscout_get_jobPoll a durable job, batch, or crawldomscout_cancel_jobCancel one durable jobdomscout_send_feedbackSend product feedbackPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"charlotte": {
"command": "npx",
"args": [
"@ticktockbent/charlotte"
]
}
}
}
{
"mcpServers": {
"domscout": {
"command": "npx",
"args": [
"-y",
"@domscout/mcp"
],
"env": {
"DOMSCOUT_API_KEY": "YOUR_DOMSCOUT_API_KEY_HERE",
"DOMSCOUT_BASE_URL": "YOUR_DOMSCOUT_BASE_URL_HERE",
"DOMSCOUT_DOCS_BASE_URL": "YOUR_DOMSCOUT_DOCS_BASE_URL_HERE"
}
}
}
}