Charlotte
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| charlotte_navigateA | 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_backA | Navigate back in browser history. Returns page representation after navigation. |
| charlotte_forwardA | Navigate forward in browser history. Returns page representation after navigation. |
| charlotte_reloadA | Reload the current page. Returns page representation after reload. |
| charlotte_observeA | 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/input is which). |
| charlotte_findA | 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. |
| charlotte_screenshotA | 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_screenshotsA | List all saved screenshot artifacts. Returns metadata for each saved screenshot including ID, filename, page URL, and timestamp. |
| charlotte_screenshot_getA | Retrieve a previously saved screenshot artifact by its ID. Returns the image data and metadata. |
| charlotte_screenshot_deleteA | Delete a saved screenshot artifact by its ID. Removes the file from disk. |
| charlotte_diffA | Compare current page state to a previous snapshot. Returns structural diff showing added, removed, moved, and changed elements. |
| charlotte_clickB | Click an interactive element on the page. Returns full page representation after the click. |
| charlotte_click_atA | 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_typeA | Type text into an input element. Returns full page representation after typing. |
| charlotte_selectA | Select an option in a select/dropdown element. Returns full page representation after selection. |
| charlotte_toggleA | Toggle a checkbox or switch element. Returns full page representation after toggle. |
| charlotte_submitB | Submit a form. Can submit by form ID or by clicking its submit button. Returns full page representation after submission. |
| charlotte_scrollA | Scroll the page or a specific container. Returns full page representation after scrolling. |
| charlotte_tabsA | List all open browser tabs with their URLs, titles, and active status. |
| charlotte_tab_openA | Open a new browser tab. Optionally navigate to a URL. The new tab becomes the active tab. |
| charlotte_tab_switchA | Switch to a different browser tab by its tab ID. Returns the page representation of the activated tab. |
| charlotte_tab_closeA | Close a browser tab by its ID. If the closed tab was active, switches to the first remaining tab. |
| charlotte_toolsA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TickTockBent/charlotte'
If you have feedback or need assistance with the MCP directory API, please join our Discord server