Skip to content
Agentmart
Submit a tool

Charlotte

Renders web pages into structured, agent-readable representations using headless Chromium.

Connector by TickTockBent · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 183
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ticktockbent-charlotte

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Renders web pages into structured, agent-readable representations using headless Chromium.

Use cases: browser-automation, web-scraping

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
10 read · 19 write · 1 delete · 13 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 43

Read from the source code; the running server may list different tools.

Read 10 · Look things up without changing anything.

  • charlotte_console
  • charlotte_diff
  • charlotte_find
  • charlotte_get_cookies
  • charlotte_observe
  • charlotte_requests
  • charlotte_screenshot
  • charlotte_screenshot_get
  • charlotte_screenshots
  • charlotte_tabs

Write 19 · Create, change, send or run things.

  • charlotte_back
  • charlotte_click
  • charlotte_click_at
  • charlotte_drag
  • charlotte_fill_form
  • charlotte_forward
  • charlotte_hover
  • charlotte_key
  • charlotte_navigate
  • charlotte_scroll
  • charlotte_select
  • charlotte_set_cookies
Show 7 more tools
  • charlotte_set_headers
  • charlotte_submit
  • charlotte_tab_close
  • charlotte_toggle
  • charlotte_tools
  • charlotte_type
  • charlotte_upload

Delete 1 · Delete, drop, revoke or wipe things.

  • charlotte_clear_cookies

Not yet classified 13 · We could not tell from the name and description.

  • charlotte_configure
  • charlotte_dev_audit
  • charlotte_dev_inject
  • charlotte_dev_serve
  • charlotte_dialog
  • charlotte_evaluate
  • charlotte_network
  • charlotte_reload
  • charlotte_screenshot_delete
  • charlotte_tab_open
  • charlotte_tab_switch
  • charlotte_viewport
Show 1 more tools
  • charlotte_wait_for

Files it touches

  • Any path the agent passes to its tools

Tools (43)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • charlotte_back

    Navigate back in browser history. Returns page representation after navigation.

  • charlotte_clear_cookies

    Clear cookies from the browser. Optionally filter by name(s) to remove specific cookies. Without a filter, clears all cookies for the current page.

  • charlotte_click

    Click an interactive element on the page. Returns full page representation after the click.

  • charlotte_click_at

    Click 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_configure

    Configure Charlotte runtime settings. Changes take effect immediately.

  • charlotte_console

    Retrieve console messages from the active page. Returns messages at all severity levels (log, info, warning, error, debug, etc.) with timestamps. Useful for debugging JavaScript behavior.

  • charlotte_dev_audit

    Run accessibility and quality audits on the current page. Returns findings with severity levels and actionable recommendations.

  • charlotte_dev_inject

    Inject CSS or JavaScript into the current page for testing modifications without editing files. Returns the page representation with a delta showing changes.

  • charlotte_dev_serve

    Serve a local directory as a static website and optionally watch for file changes. Navigates to the served URL and returns the page representation. File changes trigger automatic reloads and surface as reload_event on the next tool response.

  • charlotte_dialog

    Handle a pending JavaScript dialog (alert, confirm, prompt, beforeunload). Accept or dismiss the dialog. Returns page representation after the dialog is resolved.

  • charlotte_diff

    Compare current page state to a previous snapshot. Returns structural diff showing added, removed, moved, and changed elements.

  • charlotte_drag

    Drag an element to another element. Uses mouse primitives to simulate drag-and-drop. Returns full page representation after the drag.

  • charlotte_evaluate

    Execute JavaScript in page context. Supports single expressions and multi-statement code. Returns the completion value of the last expression-statement.

  • charlotte_fill_form

    Fill multiple form fields in a single call. Auto-detects element types (text input, select, checkbox, etc.) and applies the appropriate action. Returns a single page representation with delta covering all changes. All fields are validated up front before any field is mutated; if validation fails, no fields are changed. Note: if a field action fails mid-list (e.g. a handler throws after earlier fields succeeded), earlier fields remain applied.

  • charlotte_find

    Search 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.

Show 28 more tools
  • charlotte_forward

    Navigate forward in browser history. Returns page representation after navigation.

  • charlotte_get_cookies

    Get cookies for the active page. Optionally filter by URL(s). Returns cookie name, value, domain, path, and flags.

  • charlotte_hover

    Hover over an element to trigger hover states. Returns full page representation after hover.

  • charlotte_key

    Send keyboard input to the page or a specific element. Supports single key with modifiers, or a sequence of keys. Use for keyboard-driven UIs (games, terminals, code editors) and non-input elements with keydown listeners.

  • charlotte_navigate

    Load 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_network

    Configure network conditions for the active page. Set throttling presets, block URL patterns, or enable request logging.

  • charlotte_observe

    Get 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/…

  • charlotte_reload

    Reload the current page. Returns page representation after reload.

  • charlotte_requests

    Retrieve network request history from the active page. Returns all HTTP requests with method, status, resource type, and timestamps. Useful for debugging API calls and resource loading.

  • charlotte_screenshot

    Capture 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_screenshot_delete

    Delete a saved screenshot artifact by its ID. Removes the file from disk.

  • charlotte_screenshot_get

    Retrieve a previously saved screenshot artifact by its ID. Returns the image data and metadata.

  • charlotte_screenshots

    List all saved screenshot artifacts. Returns metadata for each saved screenshot including ID, filename, page URL, and timestamp.

  • charlotte_scroll

    Scroll the page or a specific container. Returns full page representation after scrolling.

  • charlotte_select

    Select an option in a select/dropdown element. Returns full page representation after selection.

  • charlotte_set_cookies

    Set cookies on the active page. Cookies persist for subsequent navigations within matching domains.

  • charlotte_set_headers

    Set extra HTTP headers for subsequent requests. Headers persist for all navigations on the active page.

  • charlotte_submit

    Submit a form. Can submit by form ID or by clicking its submit button. Returns full page representation after submission.

  • charlotte_tab_close

    Close a browser tab by its ID. If the closed tab was active, switches to the first remaining tab.

  • charlotte_tab_open

    Open a new browser tab. Optionally navigate to a URL. The new tab becomes the active tab.

  • charlotte_tab_switch

    Switch to a different browser tab by its tab ID. Returns the page representation of the activated tab.

  • charlotte_tabs

    List all open browser tabs with their URLs, titles, and active status.

  • charlotte_toggle

    Toggle a checkbox or switch element. Returns full page representation after toggle.

  • charlotte_tools

    Manage 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. 'session' for cookie/auth management, tab switching, viewport, and network. 'dev_mode' for local development serving and audits. 'evaluate' for JavaScript execution. 'monitoring' for console and network request logs. 'dialog' for JavaScript dialog handling.

  • charlotte_type

    Type text into an input element. Returns full page representation after typing.

  • charlotte_upload

    Set files on a file input element. Validates that files exist and that the target is a file input. Returns full page representation after upload.

  • charlotte_viewport

    Change the browser viewport. Use custom width/height, a generic preset (dimensions only), or a named device like "iPhone 15" (any Puppeteer KnownDevices name), which also emulates device pixel ratio, touch, mobile mode, and user agent. Returns page representation at the new viewport size.

  • charlotte_wait_for

    Wait for a condition to be met on the page. Returns page representation when the condition is satisfied, or a TIMEOUT error.

Compare and alternatives

    Featured in

    Signals

    Stars
    183
    Forks
    22
    Open issues
    8
    Contributors
    16
    Last commit
    Oct 22, 2026 (6 days ago)
    Last release
    Aug 9, 2026 (2 months ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    Registry name
    io.github.TickTockBent/charlotte
    Version
    0.1.3
    Auth
    No auth
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    Charlotte MCP server. Agent Mart. https://agentmart.dev/connectors/ticktockbent-charlotte (last updated 2026-10-24)