# Agent Read Proxy

> Read any web page (even JS sites), PDFs, tables, RSS & screenshots for AI agents. Pay via x402.

- name: dev.workers.agent-read-proxy.agent-read-proxy/agent-read-proxy
- version: 1.5.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.workers.agent-read-proxy.agent-read-proxy%2Fagent-read-proxy
- tools: https://api.protogrid.dev/v1/servers/dev.workers.agent-read-proxy.agent-read-proxy%2Fagent-read-proxy/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "agent-read-proxy": {
      "type": "http",
      "url": "https://agent-read-proxy.agent-read-proxy.workers.dev/mcp"
    }
  }
}
```


## Trust

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

## Quality 73/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 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: 71 (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
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: page_links (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); page_tables (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); page_screenshot (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,376 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 7 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: 9, about 1,376 tokens to load them all
- tool set hash: 9bf465552485a96f7e9ef64caf0e2810
- tools last changed: 2026-11-03T00:20:32.102Z
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.workers.agent-read-proxy.agent-read-proxy/agent-read-proxy.svg)](https://protogrid.dev/servers/dev.workers.agent-read-proxy.agent-read-proxy/agent-read-proxy)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-03 `page_screenshot` added
  - Take a screenshot of a web page in a real browser and get the image back (JPEG by default, or PNG). Choose the window size, or full_page=true for the whole page (up to 8,000 pixels tall). Price: $0.005 USDC (x402).
- 2026-11-03 `read_rendered_page` added
  - Like /v1/read, but loads the page in a real browser first, so content built by JavaScript (online shops, web apps, single-page sites) is included. Use it when /v1/read comes back empty or incomplete. Returns the readable text or Markdown plus metadata. Price: $0.005 USDC (x402).
- 2026-11-03 `site_sitemap` added
  - List a website's page URLs (with last-modified dates) from its sitemap. Give it any page on the site: it checks robots.txt and /sitemap.xml, follows sitemap indexes, and reads .xml.gz sitemaps. Price: $0.002 USDC (x402).
- 2026-11-03 `read_feed` added
  - Get the latest posts from a blog or news site as JSON (title, link, date, author, summary). Give it a feed URL, or just the site's page and it finds the RSS/Atom feed automatically. Price: $0.001 USDC (x402).
- 2026-11-03 `page_tables` added
  - Extract every HTML table on a web page as JSON: caption, header row and data rows as arrays of cell text. Good for prices, stats, schedules, rankings and spec sheets. Price: $0.002 USDC (x402).
- 2026-11-03 `page_links` added
  - List every link on a web page with its anchor text, marked internal (same site) or external, deduplicated. Use scope=internal to crawl a site, or external to find outbound references. Price: $0.001 USDC (x402).
- 2026-11-03 `page_metadata` added
  - Get a web page's metadata without its text: title, description, preview image, favicon, language, canonical URL, author and dates, Open Graph and Twitter card tags, RSS/Atom feed links, and its schema.org structured data (JSON-LD: products with prices and ratings, articles, recipes, events, organizations). Price: $0.001 USDC (x402).

Full history: https://api.protogrid.dev/v1/servers/dev.workers.agent-read-proxy.agent-read-proxy%2Fagent-read-proxy/changes

## Remotes

- https://agent-read-proxy.agent-read-proxy.workers.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (9)

- `page_links`: List every link on a web page with its anchor text, marked internal (same site) or external, deduplicated. Use scope=internal to crawl a site, or external to find outbound references. Price: $0.001 USDC (x402).
- `page_metadata`: Get a web page's metadata without its text: title, description, preview image, favicon, language, canonical URL, author and dates, Open Graph and Twitter card tags, RSS/Atom feed links, and its schema.org structured data (JSON-LD: products with prices and ratings, articles, recipes, events, organizations). Price: $0.001 USDC (x402).
- `page_screenshot`: Take a screenshot of a web page in a real browser and get the image back (JPEG by default, or PNG). Choose the window size, or full_page=true for the whole page (up to 8,000 pixels tall). Price: $0.005 USDC (x402).
- `page_tables`: Extract every HTML table on a web page as JSON: caption, header row and data rows as arrays of cell text. Good for prices, stats, schedules, rankings and spec sheets. Price: $0.002 USDC (x402).
- `read_feed`: Get the latest posts from a blog or news site as JSON (title, link, date, author, summary). Give it a feed URL, or just the site's page and it finds the RSS/Atom feed automatically. Price: $0.001 USDC (x402).
- `read_page`: Fetch a public web page and return its readable content as JSON: plain text or Markdown (headings, lists, links kept), plus title, description, author, publish date, site name, language and preview image. Ads, menus and scripts are stripped. Also reads PDF, Word, Excel and CSV links. Failed fetches are not charged. Price: $0.002 USDC (x402).
- `read_pages`: Read up to 5 public web pages or documents (PDF, Word, Excel, CSV) in one call, in parallel. Returns each one's readable text or Markdown plus metadata, and lists any that failed. Charged only if at least one URL was read. Price: $0.006 USDC (x402).
- `read_rendered_page`: Like /v1/read, but loads the page in a real browser first, so content built by JavaScript (online shops, web apps, single-page sites) is included. Use it when /v1/read comes back empty or incomplete. Returns the readable text or Markdown plus metadata. Price: $0.005 USDC (x402).
- `site_sitemap`: List a website's page URLs (with last-modified dates) from its sitemap. Give it any page on the site: it checks robots.txt and /sitemap.xml, follows sitemap indexes, and reads .xml.gz sitemaps. Price: $0.002 USDC (x402).
