Skim turns any URL into tidy content — headings, links, lists and code kept; nav, ads and scripts stripped. Read it in your browser, get it as Markdown/JSON over HTTP, or plug it into an agent as one MCP tool. Nothing to install, no key, no account.
// paste a URL and hit Read to see the Markdown an agent would get
Add Skim as a remote MCP server — the whole integration is one URL:
https://skim.perch-app.workers.dev/mcp
Then the agent has a read tool: read({ url }) → clean Markdown. No auth headers, no signup.
curl "https://skim.perch-app.workers.dev/api/read?url=https://example.com/"
Returns JSON { title, content, word_count, rendered, ... }. Also: POST https://skim.perch-app.workers.dev/api/read with {"url":"..."}. Add &format=text for a plain-text body, &format=data to extract embedded structured data (JSON-LD / OpenGraph / meta) as JSON, &links=0 to drop link markup, or &render=js to force a full browser render.
Most URL→text tools only see the raw server HTML, so React/Vue/Svelte single-page apps come back empty. Skim detects those shells and re-renders them in a real headless browser before extracting — so client-side-rendered content comes out clean. It's automatic; add render=js to force it, or render=off to skip it. The rendered field tells you whether a browser was used.
Building a job aggregator, a feed reader or a research agent? Point it at Skim instead of shipping your own scraper. JSON APIs (Greenhouse, Ashby, Lever and friends) come back verbatim up to 5 MB so you parse them directly; HTML pages come back as clean Markdown; SPA boards work with render=js. Or add &format=data to get the page's embedded structured data — schema.org JSON-LD (Product, Offer, JobPosting, Review, Article…), OpenGraph and meta — as clean JSON, no HTML parsing on your side. Upstream status codes pass straight through. See the aggregator guide →
Agents burn tokens and context on raw HTML. Skim gives them just the readable content, as Markdown, in one call — hosted at the edge, so there's nothing to run locally and no rate-limited key to manage. It reads HTML, plain text, JSON and XML, and can render JavaScript-heavy pages.