Charlotte MCP Server
Token-efficient browser MCP server — structured web pages for AI agents, not raw accessibility dumps
Charlotte is an open-source mcp server by TickTockBent, written mainly in TypeScript, with 184 GitHub stars and the MIT license. Its code was last updated Oct 31, 2026.
Scan summary: scanned Nov 5, 2026 at commit b944331. Seen able to read environment and secrets, control a web browser, connect to the internet. Scan policy
b944331 · Nov 5, 2026Findings (14)
- highHigh. Something risky that needs a close look before you install.dependencies issueDetails are available to the maintainer after claiming this listing.
- mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.@modelcontextprotocol/node@2.0.0: 1 known vulnerabilityGHSA-f897-62hf-6gxq
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.body-parser@2.3.0: 1 known vulnerabilityGHSA-27r3-jxmh-p828
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.extract-zip@2.0.1: 2 known vulnerabilitiesGHSA-7pqw-9j4j-h8q3, GHSA-jmr9-qjv8-65gv
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.zod@3.25.76: 1 known vulnerabilityGHSA-mrhx-c7xc-m3w5
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.zod@4.4.3: 2 known vulnerabilitiesGHSA-mrhx-c7xc-m3w5, GHSA-mrhx-c7xc-m3w5
package-lock.json - mediumMedium. Worth checking, often a vulnerable dependency or a setup problem.Install contacted hosts other than package registriesstorage.googleapis.com
- lowLow. Minor, or common in normal tools. Shown for information.@hono/node-server@1.19.17: 1 known vulnerabilityGHSA-rmxm-3fg6-px4f
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.@vitest/mocker@4.1.11: 2 known vulnerabilitiesGHSA-qxg6-89mg-rqv8, GHSA-xp26-3454-mjgp
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.ip-address@10.7.3: 1 known vulnerabilityGHSA-rxp7-6hxx-x8q5
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.minimatch@10.2.5: 2 known vulnerabilitiesGHSA-g3hv-75wg-m249, GHSA-g3hv-75wg-m249
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.qs@6.16.0: 1 known vulnerabilityGHSA-6pq8-jhm2-2vcw
package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.minimatch@9.0.9: 1 known vulnerabilityGHSA-g3hv-75wg-m249
site/package-lock.json - lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestDRIFT_PROGRESS_NOTE, DRIFT_RUN_DATE
Network activity
Tools exposed (23)
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), "summa
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
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.
charlotte_click_atClick at specific page coordinates. Use when target elements are not in the accessibility tree (custom widgets, canvas, non-semantic interactive divs). Dispatches real CDP-level mouse events. Returns full page representation after the click.
charlotte_typeType text into an input element. Returns full page representation after typing.
charlotte_selectSelect an option in a select/dropdown element. Returns full page representation after selection.
charlotte_toggleToggle a checkbox or switch element. Returns full page representation after toggle.
charlotte_submitSubmit a form. Can submit by form ID or by clicking its submit button. Returns full page representation after submission.
charlotte_scrollScroll the page or a specific container. Returns full page representation after scrolling.
charlotte_tabsList all open browser tabs with their URLs, titles, and active status.
charlotte_tab_openOpen a new browser tab. Optionally navigate to a URL. The new tab becomes the active tab.
charlotte_tab_switchSwitch to a different browser tab by its tab ID. Returns the page representation of the activated tab.
charlotte_tab_closeClose a browser tab by its ID. If the closed tab was active, switches to the first remaining tab.
charlotte_toolsManage Charlotte tool visibility. Lists available tool groups and their status. Use 'enable' or 'disable' to control which tools are loaded. Disabled tools don't appear in the tool list — enable a group to access its tools. Groups: 'interaction' for form filling, clicking, and drag-and-drop. 'sessio
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
Charlotte alternatives
View more →Similar mcp servers in Browser Automation, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Charlotte (this page) TickTockBent | 184 | MIT | Oct 31, 2026 | Scanned, no flagged issues |
| Chrome Devtools MCP ChromeDevTools | 55k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Playwright MCP microsoft | 39k | Apache-2.0 | Oct 31, 2026 | Scanned, no flagged issues |
| MCP Chrome hangwin | 13k | MIT | Jan 6, 2026 | Scanned, no flagged issues |
| Browser Tools MCP AgentDeskAI | 7.3k | MIT | Oct 28, 2026 | Scanned, no flagged issues |
| MCP BrowserMCP | 7.3k | Apache-2.0 | Oct 30, 2026 | Scanned, no flagged issues |