Fetch and render web pages using the Servo browser engine — a single binary with JS execution, CSS layout, screenshots, and content extraction. Use when a URL returns empty or incomplete content with plain HTTP fetch, when you need a screenshot without GPU, or when you need to run JavaScript in a page context. No browser download required.
npx skills add https://github.com/konippi/servo-fetch --skill servo-fetch
curl or built-in web fetch instead)Start the MCP server: servo-fetch mcp (stdio) or servo-fetch mcp --port 8080 (Streamable HTTP)
Extract readable content from a URL. JavaScript is executed, CSS layout is computed, and navigation noise (navbars, sidebars, footers, cookie banners) is stripped automatically.
Parameters:
url (required): URL to fetch (http/https only)format: "markdown" (default), "json", "html", "text", or "accessibility_tree"selector: CSS selector to extract a specific section instead of full-page extractionmaxLength: max characters to return (default 5000)startIndex: character offset for paginationvisibility: "moderate" (default), "strict", or "off"timeout (s, default 30), settleMs (ms, default 0), userAgent, cookiesFile, headersfetch(url: "https://docs.rs/tokio", format: "markdown")
fetch(url: "https://example.com", format: "json", selector: "article")
fetch(url: "https://example.com", format: "accessibility_tree")
PDF URLs are auto-detected via Content-Type and extracted directly.
Fetch multiple URLs in parallel. Results are returned as separate content entries in completion order. Failed URLs are reported inline without aborting the batch.
Parameters:
urls (required): array of URLs to fetch (http/https only, max 20)format: "markdown" (default), "json", "html", "text", or "accessibility_tree"selector: CSS selector to extract a specific sectionmaxLength: max characters per URL result (default 5000)visibility: "moderate" (default), "strict", or "off"timeout (s, default 30), settleMs (ms, default 0), userAgent, cookiesFile, headersbatch_fetch(urls: ["https://a.com", "https://b.com"], format: "markdown")
batch_fetch(urls: ["https://a.com", "https://b.com"], format: "json", selector: "article")
Crawl a website starting from a URL, following same-site links via BFS. JavaScript is executed, CSS layout is computed, and navigation noise is stripped. Respects robots.txt.
Parameters:
url (required): starting URL to crawl (http/https only)limit: max pages to crawl (default 50, max 500)maxDepth: max link depth from seed (default 3, max 10)format: "markdown" (default) or "json"include: URL path patterns to include (e.g. ["/docs/**"])exclude: URL path patterns to excludemaxLength: max characters per page result (default 5000)selector: CSS selector to extract a specific section per pagetimeout (s, default 30), settleMs (ms, default 0), userAgent, cookiesFile, headerscrawl(url: "https://docs.example.com", limit: 20, maxDepth: 3)
crawl(url: "https://docs.example.com", include: ["/guide/**"], limit: 50)
Capture a PNG screenshot. Uses Servo's software renderer — works without GPU.
Parameters:
url (required): URL to capturefullPage: capture the full scrollable page (default false)timeout (s, default 30), settleMs (ms, default 0), userAgent, cookiesFile, headersscreenshot(url: "https://example.com")
screenshot(url: "https://example.com", fullPage: true)
Evaluate a JavaScript expression after the page loads. Console messages (log, warn, error) are appended to the result.
Parameters:
url (required): URL to loadexpression (required): JavaScript expression to evaluatetimeout (s, default 30), settleMs (ms, default 0), userAgent, cookiesFile, headersexecute_js(url: "https://example.com", expression: "document.title")
execute_js(url: "https://example.com", expression: "[...document.querySelectorAll('h2')].map(e => e.textContent)")
servo-fetch https://example.com # Markdown (default)
servo-fetch https://example.com --format json # Structured JSON
servo-fetch URL1 URL2 URL3 # Parallel batch (Markdown with separators)
servo-fetch URL1 URL2 --format json # Parallel batch (NDJSON)
servo-fetch https://example.com --format png -o out.png # Save PNG screenshot
servo-fetch https://example.com --js "document.title" # Run JavaScript and print result
servo-fetch https://example.com --selector article # Extract a section by CSS selector
servo-fetch https://example.com --schema schema.json # Schema-driven JSON
servo-fetch https://example.com --cookies cookies.txt # Send session cookies
servo-fetch https://example.com -H "Authorization: Bearer TOKEN" # Custom request header (repeatable)
servo-fetch https://example.com --format html # Raw HTML
servo-fetch https://example.com --format text # Plain text
servo-fetch https://example.com -t 60 # Custom timeout
servo-fetch https://example.com --settle 500 # Extra wait for SPAs
servo-fetch crawl https://docs.example.com --limit 20 # Crawl a site (BFS)
servo-fetch crawl https://docs.example.com --include "/docs/**" # Crawl with path filter
servo-fetch URL --output page.md # Save a single URL to a file
servo-fetch crawl URL --output-dir ./pages/ # One file per page
timeout parameter for slow pagesFor pagination patterns, format selection, and MCP configuration, see references/guide.md.
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take konippi/servo-fetch from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.