servo-fetch CLI

servo-fetch renders pages with the Servo engine and gives an agent Markdown, JSON or a screenshot with no Chromium.

  • 164 ★ on the repository
  • Last commit
  • Apache-2.0
CLI

Extended access

Why this level

  • The tool runs JavaScript of third-party pages and uses the network.
  • The installer runs as a script from the network.
All reasons and checks

konippi/servo-fetch

Install

Manual install

curl -fsSL https://raw.githubusercontent.com/konippi/servo-fetch/main/install.sh | sh

Installs the CLI; `cargo binstall servo-fetch-cli` also exists. MCP starts with `servo-fetch mcp`.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The tool runs JavaScript of third-party pages and uses the network.
  • The installer runs as a script from the network.

This is third-party code. Review the repository files before installing.

What it does

The `servo-fetch` CLI embeds the Servo browser engine. It runs JavaScript, computes CSS layout, takes screenshots with a software renderer and extracts clean content: by position it strips navigation, sidebars and footers, along with cookie banners, modals and hidden blocks. Output is Markdown, JSON by a CSS-selector schema or PNG. There is parallel loading of an address list, breadth-first site crawling that respects robots.txt, a sitemap-based URL map and an accessibility tree with roles and bounding boxes. `servo-fetch mcp` starts an MCP server over stdio and with `--port 8080` it serves Streamable HTTP. The same features are available as Rust, Python and Node.js libraries.

Who it is for. Agent developers who need browser page rendering with no Chromium or cloud services.

Good fit when

  • An agent reads a JavaScript-heavy page and gets clean Markdown.
  • You need a page screenshot on a server with no GPU.
  • Page data is collected as JSON by a CSS selector schema.
  • A site is crawled from a start URL respecting robots.txt.

Not a fit when

  • You need pages behind a login or bot protection: the tool is not meant for them.
  • You need full Chromium compatibility: Servo does not support everything.
  • You need only web search without reading pages.

Example request

Fetch https://example.com through servo-fetch as Markdown and take a full screenshot to page.png.

Limitations

The Servo engine does not support web standards fully, so some sites render differently from Chromium. On headless Linux `libegl1`, `libfontconfig1` and `libfreetype6` are needed and a run through `xvfb-run`. On Windows `cargo binstall` does not copy `libEGL.dll` and `libGLESv2.dll`, so take the zip from releases. The CLI installs with a `curl | sh` script, so read it before running. Pages that need complex sign-in flows or extensions call for a full browser. Crawling is limited to one site scope and a request rate, so large site maps take noticeably longer to collect.

How to disable. Delete the `servo-fetch` binary and the `servo-fetch` entry from the client MCP config; Python and Node.js packages are removed with their package managers.

FAQ

Is Chromium needed?

No. The Servo engine is built into a single binary and no keys or extra programs are required.

How do I connect it as MCP?

Run `servo-fetch mcp` over stdio or `servo-fetch mcp --port 8080` for Streamable HTTP. The tool list is in the CLI package README.

How do I get a screenshot?

With `servo-fetch "https://example.com" --format png -o page.png`. Rendering is software based and no GPU is needed.

Which languages work besides the CLI?

Rust with `cargo add servo-fetch`, Python with `pip install servo-fetch` and Node.js with `npm install servo-fetch`.

How fast is it?

By the author benchmarks, about 231 ms on a static page against 645 ms for optimized Playwright and 51–64 MB of memory against 300–328 MB.

Discussion

No questions or reviews yet.

CLI tools

An MCP server that opens pages in headless Chromium through Playwright and hands the agent the main text as Markdown, even from JavaScript-heavy sites

MCP serverExtended access1.1KRepository stars

A plugin that crawls sites and turns pages into Markdown with metadata: seven skills and an MCP server with nine tools

PluginBroad access196Repository stars

MCP server that reads sites on your machine and hands the agent short Markdown with links, keeping raw HTML out of context.

MCP serverExtended access163Repository stars
Official

A Rust server that turns pages into Markdown or JSON: search, scrape, site map, crawl and PDF through MCP, a CLI and a Firecrawl-compatible API

MCP serverExtended access1.3KRepository stars

A self-hosted Rust service for agents: pages, PDFs and Office files to Markdown, Firecrawl-style API, MCP included

MCP serverExtended access267Repository stars

MCP server with DuckDuckGo search and page text extraction: several URLs can be passed in one call

MCP serverExtended access151Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
servo-fetch (this card)no164
mcp-read-website-fastnonot required163reads sites and returns short Markdown; servo-fetch runs JavaScript, takes screenshots and crawls sites
Web Content Fetcherno613a skill with Scrapling and a Jina Reader fallback; servo-fetch embeds its own browser engine

README in short

The Rust repository presents a browser engine in a single binary with a CLI, Rust, Python and Node.js libraries and an MCP server. It describes features, speed and extraction quality benchmarks against Playwright and Readability, install and Linux and Windows notes.

README badge

Report a problem