Skim docs

Skim reads a URL and returns its main content as clean Markdown. Free, no signup, no key. Two ways to use it.

1. MCP (recommended for agents)

Streamable-HTTP MCP endpoint — add it as a remote server:

https://skim.perch-app.workers.dev/mcp

Tool: read

read({
  url: "https://example.com/post",   // required, absolute http(s)
  links: true,        // optional, keep [text](url); default true
  max_chars: 8000     // optional, truncate long content
})

Returns { url, title, description, format, content, word_count, bytes, ms }.

2. HTTP

GET  https://skim.perch-app.workers.dev/api/read?url=https%3A%2F%2Fexample.com%2F
POST https://skim.perch-app.workers.dev/api/read   {"url":"https://example.com/","links":true,"max_chars":8000}

Query/body options: format=markdown|text (markdown default; text also drops link markup), links=0, max_chars=N.

3. Read it yourself (clean reader)

Not an agent? Paste any URL into the clean reader to strip ads, popups and clutter and get a readable, shareable page: https://skim.perch-app.workers.dev/r?url=<page>.

What it handles

HTML (→ Markdown, main-content extracted), plain text, JSON and XML (returned as-is). PDFs and binaries aren't supported yet. Private/internal addresses are blocked. Rate limit: 40 reads/minute per IP.

Notes

Skim identifies itself as SkimBot/1.0 and follows redirects. It's a reader, not a scraper farm — be considerate of the sites you read.