# charlotte — Token-Efficient Browser MCP Server > Charlotte is a token-efficient browser MCP server: agents get a compact page summary by default, then query only the elements they need. ## Install Merge the JSON below into your `.mcp.json`: ## Quick Use ```bash npm install -g @ticktockbent/charlotte charlotte --profile core # Claude Code: add to .mcp.json (stdio via npx) cat > .mcp.json <<'JSON' { "mcpServers": { "charlotte": { "type": "stdio", "command": "npx", "args": ["@ticktockbent/charlotte"] } } } JSON ``` ## Intro Charlotte is a token-efficient browser MCP server: agents get a compact page summary by default, then query only the elements they need. **Best for:** Agents that browse large pages and must keep tool-call payloads small **Works with:** Node.js 20+, MCP clients, headless Chromium **Setup time:** 5-15 minutes ### Key facts (verified) - GitHub: 140 stars · 20 forks · pushed 2026-05-13. - License: MIT · owner avatar + repo URL verified via GitHub API. - README-verified entrypoint: `npm install -g @ticktockbent/charlotte`. ## Main - Use Charlotte when a full accessibility-tree dump is too expensive: it’s designed to return a compact orientation on navigation and expand only on demand. - Pick a tool profile to reduce definition overhead (README lists core/browse/full); start with `--profile core` for minimal tools. - For production browsing, combine `navigate` + `find`/`observe` so your agent asks for exactly the region or element it needs, not the whole page. ### Source-backed notes - README positions Charlotte as a structured browser MCP server and compares output size against Playwright MCP. - README’s benchmark table includes the Hacker News example: 336 characters for Charlotte navigate vs 61k+ for Playwright’s navigate dump. - README documents startup tool profiles and shows `charlotte --profile core|browse|full` as the entrypoint. ### FAQ - **Do I need Docker?**: No — README shows npm global install; Docker is optional. - **Will it work with my MCP client?**: If your client supports stdio MCP servers, the README shows example configs for Claude Code, Cursor, and others. - **What’s the safest first test?**: Run `charlotte --profile core` and try navigating to example.com, then use `find` to locate a single link. ## Source & Thanks > Source: https://github.com/TickTockBent/charlotte > License: MIT > GitHub stars: 140 · forks: 20 --- ## Quick Use ```bash npm install -g @ticktockbent/charlotte charlotte --profile core # Claude Code: add to .mcp.json (stdio via npx) cat > .mcp.json <<'JSON' { "mcpServers": { "charlotte": { "type": "stdio", "command": "npx", "args": ["@ticktockbent/charlotte"] } } } JSON ``` ## Intro Charlotte 是省 token 的浏览器 MCP:默认只返回精简页面摘要(README 例子 Hacker News 仅 336 字符),需要细节再按元素查询。基准对比 Playwright MCP 可减少 25–182× 输出,适合重度网页抓取。 **Best for:** 要浏览大页面、又必须把每次工具调用负载压到很小的 agent **Works with:** Node.js 20+;MCP 客户端;无头 Chromium **Setup time:** 5-15 minutes ### Key facts (verified) - GitHub:140 stars · 20 forks;最近更新 2026-05-13。 - 许可证:MIT;作者头像与仓库链接均已通过 GitHub API 复核。 - README 中核对过的入口命令:`npm install -g @ticktockbent/charlotte`。 ## Main - 当完整无障碍树 dump 太费 token 时用 Charlotte:它在导航时先给“精简方位信息”,需要时再展开细节。 - 通过 profile 降低工具定义开销(README 有 core/browse/full);建议先用 `--profile core` 起步。 - 在生产场景用 `navigate` + `find/observe` 组合:让 agent 精准请求某个区域/元素,而不是整页文本。 ### Source-backed notes - README 把 Charlotte 定位为结构化浏览器 MCP,并与 Playwright MCP 的输出大小做对比。 - README 的 benchmark 表包含 Hacker News 示例:Charlotte navigate 仅 336 字符,而 Playwright navigate 为 61k+。 - README 说明启动 profile,并用 `charlotte --profile core|browse|full` 作为入口命令。 ### FAQ - **必须用 Docker 吗?**:不必。README 给出 npm 全局安装;Docker 属于可选方案。 - **我的 MCP 客户端能用吗?**:只要支持 stdio 型 MCP server,一般都能接;README 给了 Claude Code、Cursor 等配置示例。 - **第一次怎么测最稳?**:先跑 `charlotte --profile core`,navigate 到 example.com,再用 `find` 定位一个链接/按钮。 ## Source & Thanks > Source: https://github.com/TickTockBent/charlotte > License: MIT > GitHub stars: 140 · forks: 20 --- Source: https://tokrepo.com/en/workflows/charlotte-token-efficient-browser-mcp-server Author: MCP Hub