website_snapshotLABSCO SUMMARY
Capture, not control.
This does one half of browser automation — it observes and never clicks. That narrowness is the appeal: one call returns the structure, the traffic and the errors together, which is usually enough to explain why a page misbehaves without giving a model the ability to change anything on it.
What it is
A single-tool MCP server built on Playwright. Give it a URL and it loads the page in a real browser, then hands back the accessibility tree with reference IDs on interactive elements, every network request and response, and whatever the page logged to the console.
What you get
website_snapshot, which takestarget_urland returns the whole capture in one response- The accessibility tree as structured text — headings, links, buttons and navigation, each interactive element tagged
[ref=1]-style so a later step can target it precisely - Network requests and responses recorded during page load, with status codes
- Console output collected while the page ran: logs, warnings and errors
- A summary line counting elements, requests and console messages
Requirements
No account and no key. Python 3.11 or newer and uv. Clone the repository, uv sync, then uv run playwright install to get the browsers — that step is easy to skip and nothing works without it. The client config runs uv --directory <YOUR_PATH_TO_MCP_WEB_SNAPSHOT> run python src/server.py. Viewport, user agent and the 15-second timeout are edited in the CONFIG dictionary in src/tools/snapshot_url.py. Package name mcp-web-snapshot at 0.1.0, MIT.
Setup effort
Build from source — git clone https://github.com/gustavo-meilus/mcp-web-snapshot.git
USE CASES
Writing page-object classes for a login screen
Snapshot the page and build the selectors from the returned element references instead of pasting HTML into the conversation.
Finding out which API calls a dashboard makes
Capture the page and read the recorded requests and statuses, so the data flow is visible without opening devtools.
Checking a page against accessibility guidelines
The capture is the accessibility tree itself, so roles and names are what the model reviews — not a picture of the page.
1 tool
Listed in project docs. Your client may show a different list.
BEFORE YOU INSTALL
What to know first
Tools you get
1 tool named in the project's documentation.
Requires
Python 3.11 or later
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/gustavo-meilus/mcp-web-snapshot.git
cd mcp-web-snapshot
uv sync
uv run playwright installMCP Clients
VS Code
code --add-mcp '{"name":"mcp-web-snapshot","command":"uv","args":["--directory","<YOUR_PATH_TO_MCP_WEB_SNAPSHOT>","run","python","src/server.py"]}'Cursor
{
"mcpServers": {
"mcp-web-snapshot": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_WEB_SNAPSHOT>",
"run",
"python",
"src/server.py"
]
}
}
}