fetch_pageLABSCO SUMMARY
The saving comes from what it does not send back.
A DOM dump is mostly markup an agent cannot act on; the Semantic Object Model gives elements ids and drops the rest, so a page arrives as a fraction of the context and the id you read in one call becomes the argument to click in the next. That shape also decides where it fits — this is for reading and driving pages programmatically, not for anything that depends on the page looking right. Remember it is two installs: the npm wrapper does nothing until the engine is on the machine.
What it is
An MCP wrapper around Plasmate, a browser engine built for agents rather than for people. Instead of rendering a page and handing back HTML, it returns a Semantic Object Model — structured JSON with addressable element ids — and the click and evaluate tools act on those ids. The engine installs separately from this wrapper.
What you get
- fetch_page retrieves a URL and returns its Semantic Object Model
- extract_text returns clean readable text from any URL, for when structure is not what you need
- open_page starts a persistent browser session and close_page ends it
- click acts on an element by its SOM id, and evaluate runs JavaScript inside the page
- Output is structured JSON rather than raw HTML, which is what makes an id read in one call usable as the argument to the next
- The publisher puts the difference against Chrome at 16.6x fewer tokens, 50x faster, and around 30MB of memory against 300MB+
Requirements
Two installs. The wrapper: npm install -g plasmate-mcp, or run it as npx -y plasmate-mcp over stdio. The Plasmate engine itself: pip install plasmate, cargo install plasmate, or the Homebrew tap. No API key. The repository also works as a Cursor plugin.
Setup effort
Follow the published steps — npm install -g plasmate-mcp
USE CASES
Reading a page without spending the context on markup
Fetch the URL and get a structured model of the page instead of its HTML, or ask for clean text when the structure is not the point.
Driving a page across several steps
Open a session that persists, act on elements by the ids the model already gave you, and close it when the task is done.
Getting at something the page only produces in JavaScript
Run script inside the page and take the result back, without leaving the session or switching to a full browser automation stack.
Scraping repeatedly on a small machine
The engine runs without a rendering pipeline, so a batch of pages costs a fraction of the memory a headless Chrome would take.
6 tools
Listed in project docs. Your client may show a different list.
extract_textopen_pageclickevaluateclose_pageBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
- npx on PATH
- The Plasmate engine (pip install plasmate, cargo install plasmate, or Homebrew)
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npm install -g plasmate-mcp
pip install plasmateMCP Clients
Claude Code, Claude Desktop, Cursor
{
"mcpServers": {
"plasmate": {
"command": "npx",
"args": [
"-y",
"plasmate-mcp"
]
}
}
}