brosh
MCP server and CLI tool for browser screenshots (using Playwright and Python)
Install / Use
claude mcp add twardoch -- npx -y github:twardoch/broshIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of brosh
brosh scores 75/100 on our quality scale, 835th of 939 AI & Machine Learning skills we index.
Its MCP Server is 4.0 KB long, well organised into 15 sections with 8 code examples: a solid amount of guidance for an agent.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so brosh is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
brosh compared with similar skills
All 4 of these similar skills score higher than brosh; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| brosh (this skill)by twardoch | 75 | 3 | 2mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.6k | 5d ago | CLAUDE.md |
| claude-memby thedotmack | 100 | 105.3k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 89.0k | 4d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.3k | today | CLAUDE.md |
Frequently asked questions
- How do I install brosh?
- Run
claude mcp add twardoch -- npx -y github:twardoch/brosh. The install tabs above show the steps for each supported agent. - Which AI agents does brosh work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is brosh safe to use?
- It is MIT-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is brosh still maintained?
- The repository was last updated about 2 months ago, so brosh is actively maintained.
Skill content
View source on GitHubbrosh
<img src="docs/assets/icon.png" alt="A browser window unspooling a whole web page into one long scroll" width="180" align="right">Full-page browser screenshots, from the command line or from your own code, with the pixels, the text, and the HTML all handed back together.
Brosh drives a real browser (Chrome, Edge, or Safari) via Playwright, scrolls through a page, and captures each section as an image — plus the visible text as Markdown and, if you want it, the underlying HTML. Built for AI agents that need to see a page, not just fetch its source.
- Scrolling capture: single shot, frame series, or animated PNG of the whole scroll
- Extracts visible text (Markdown) and optionally minified HTML alongside every screenshot
- CLI, sync/async Python API, and an MCP server for Claude and other AI tools
- Connects to your existing Chrome/Edge session (cookies, logins, extensions included) or launches a fresh one
- Cross-platform: macOS, Windows, Linux
Quick Start
pip install brosh
playwright install
That second command matters: Playwright needs its own browser binaries, and pip install brosh doesn't fetch them. Skip it and every capture fails with a browser-not-found error.
Then:
brosh shot "https://example.com"
Screenshots land in ~/Pictures/brosh by default, named {domain}-{timestamp}-{scroll%}-{section}.png.
Installation
# uv (recommended)
uv tool install brosh
# pip
pip install brosh
# run without installing
uvx brosh shot "https://example.com"
Whichever route you pick, don't forget playwright install afterward.
See Installation for binary releases, pipx, and from-source setups.
CLI Usage
# Basic capture
brosh shot "https://example.com"
# Animated PNG of the whole scroll
brosh shot "https://example.com" --output_format apng
# Custom viewport, JSON output with HTML included
brosh --width 1920 --height 1080 shot "https://example.com" --fetch_html --json > page.json
# Reuse a running browser instance across multiple shots
brosh --app chrome run
brosh --app chrome shot "https://example.com"
brosh --app chrome quit
Global options (--app, --width, --height, --zoom, --output_dir, --subdirs, --verbose, --json) go before the command; command options go after. Full option tables: CLI Reference.
Python API
from brosh import capture_webpage
result = capture_webpage(
url="https://example.com",
width=1280,
height=720,
output_format="jpg",
scale=75,
)
for path, metadata in result.items():
print(path, metadata["text"][:80])
import asyncio
from brosh import capture_webpage_async
async def main():
result = await capture_webpage_async(
url="https://docs.python.org/3/",
fetch_html=True,
max_frames=3,
)
print(list(result))
asyncio.run(main())
Both APIs return a dict mapping saved file paths to metadata (selector, text, optionally html). Details and convenience functions: Python API.
MCP Server Mode
Brosh ships an MCP server so AI tools can request a screenshot mid-conversation.
claude mcp add brosh -- brosh-mcp
Or drop this into your MCP client's config:
{
"mcpServers": {
"brosh": {
"command": "brosh-mcp"
}
}
}
Restart your client, then ask it to "use brosh to capture example.com and show me the text." Full setup, including uvx-based configs: MCP Server Mode.
Documentation
Everything else — architecture, full command reference, output/JSON format, troubleshooting — lives at twardoch.github.io/brosh.
License
MIT. See LICENSE.
Built by Adam Twardoch on Playwright, python-fire, and FastMCP.
Related Skills
Agent-Reach
106.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
claude-mem
105.3kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
89.0kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.3kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
