# ScrapeMole Reader

> Pay-per-call x402 web reading: page to Markdown, link previews, RSS feeds, links, sitemaps.

- name: dev.pages.scrapemole/reader
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.pages.scrapemole%2Freader
- tools: https://api.protogrid.dev/v1/servers/dev.pages.scrapemole%2Freader/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "reader": {
      "type": "http",
      "url": "https://reader.scrapemole.workers.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-94% +updated-9d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: read (destructiveHint); sitemap (destructiveHint); meta (destructiveHint); …
- pass `tools.token_cost`: about 1,141 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 5 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,141 tokens to load them all
- tool set hash: 0ada4779cecd592b2dbf64e778619e6c
- tools last changed: 2026-10-12T02:18:29.391Z
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.pages.scrapemole/reader.svg)](https://protogrid.dev/servers/dev.pages.scrapemole/reader)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `sitemap` added
  - Use when you need the list of pages a site publishes (to crawl it, find recent posts, or audit SEO): give a site URL (the sitemap is discovered from robots.txt Sitemap: lines, then /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml) or a sitemap URL directly. Returns the page URLs with lastmod, changefreq and priority; for a sitemap index, returns its child sitemaps and (expand=true, default) the URLs of the first child sitemaps up to the limit. Gzipped sitemaps supported. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.
- 2026-10-12 `links` added
  - Use when you need the outgoing links of one page (crawling, SEO audits, finding a contact/pricing/docs page, link building): fetches the URL live (respects robots.txt) and returns every http(s) link resolved to an absolute URL, deduplicated, with anchor text (or image alt), internal vs external, rel nofollow/sponsored/ugc, target=_blank and occurrence count, plus internal/external totals. Filter with type=internal|external. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.
- 2026-10-12 `feed` changed (title)
- 2026-10-12 `meta` changed (title)
- 2026-10-12 `read` changed (title)

Full history: https://api.protogrid.dev/v1/servers/dev.pages.scrapemole%2Freader/changes

## Remotes

- https://reader.scrapemole.workers.dev/mcp (streamable-http, auth none, reachable true, uptime30d 0.93939394)

## Packages

_none_

## Tools (5)

- `feed`: Use when you need the latest posts or headlines from a site, blog, newsroom, podcast or subreddit: give a feed URL or just the site URL (the RSS/Atom feed is auto-discovered from the page) and get normalized items with title, link, publish date (ISO 8601), author, summary, image and categories, newest first as the feed lists them. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.
- `links`: Use when you need the outgoing links of one page (crawling, SEO audits, finding a contact/pricing/docs page, link building): fetches the URL live (respects robots.txt) and returns every http(s) link resolved to an absolute URL, deduplicated, with anchor text (or image alt), internal vs external, rel nofollow/sponsored/ugc, target=_blank and occurrence count, plus internal/external totals. Filter with type=internal|external. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.
- `meta`: Use when you need a link preview or page metadata: fetches the URL live and returns title, description, site name, canonical URL, language, Open Graph and Twitter card tags, preview image, favicon, author and publish date, RSS/Atom feeds, robots meta and JSON-LD (schema.org) types, after following redirects. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.
- `read`: Use when you need to read one public web page: fetches the URL live and returns its main readable content as clean Markdown (or plain text), with navigation, ads, cookie banners and boilerplate removed, plus title, byline, publish date, language and word count. Respects robots.txt. Server-rendered HTML only (no JavaScript execution). Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
- `sitemap`: Use when you need the list of pages a site publishes (to crawl it, find recent posts, or audit SEO): give a site URL (the sitemap is discovered from robots.txt Sitemap: lines, then /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml) or a sitemap URL directly. Returns the page URLs with lastmod, changefreq and priority; for a sitemap index, returns its child sitemaps and (expand=true, default) the URLs of the first child sitemaps up to the limit. Gzipped sitemaps supported. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.
