Agent-friendly content: search and direct fetch
A captured run from question to cited answer on an open site: ranked structured search results, the page as clean markdown capped with max_bytes, and the answer with quotable sources — next to what an ordinary tool returns instead.
The research question
"What's new in Deno 2.9 — anything that changes how we ship?" An open, unprotected site this time — the difference isn't access, it's what reaches the agent. Every capture on this page is from 8 Aug 2026, from Claude Code; payloads verbatim, long bodies excerpted.
The ordinary tool — a paraphrase, not the page
The host's native fetch works on open sites, but it answers with a small model's paraphrase of the page: nothing to quote, no control over length, and the original wording is gone before the agent sees it. On a protected site the same call returns nothing at all — the blocked portal.
// host's built-in fetch — captured verbatim, excerpt WebFetch("https://deno.com/blog/v2.9", "What's new in Deno 2.9?") # What's New in Deno 2.9 **Desktop Applications** The release introduces `deno desktop`, an experimental feature for building native desktop apps … compiles to a single binary with no Electron boilerplate … **Performance Gains** Startup time has been halved (17.3ms vs 34.2ms) … ✗ a restatement — no verbatim source to quote or check, no size control
Find the sources — structured results
search returns ranked results as structured JSON — title, URL, snippet — that a model picks from programmatically. No result page to scrape, no markup to wade through.
// find sources search("Deno 2.9 new features release notes") [ { "title": "Deno 2.9 | Deno", "url": "https://deno.com/blog/v2.9", "content": "Deno 2.9 is here, headlined by deno desktop, a new way to build native desktop applications…" }, { "title": "Releases · denoland/deno - GitHub", "url": "https://github.com/denoland/deno/releases", "content": "2.9.4 / 2026.07.23 · feat(desktop): enable --hmr for React Router…" }, … more results ]
Read the top hit — the page itself, capped
fetch returns the page as clean markdown: the content without the nav, cookie banners or markup soup. The article arrives capped by max_bytes — server-side, with the truncation declared. An open site takes the [via direct] fast path; a protected site gets the full browser, same call shape.
// read it, capped at 4 KB fetch("https://deno.com/blog/v2.9", max_bytes: 4000) [via direct] # Deno 2.9 June 25, 2026 — Bartek Iwańczuk Deno 2.9 is here, headlined by `deno desktop`… no Electron boilerplate and a single binary at the end… `deno install` now reads npm, pnpm, yarn, and Bun lockfiles directly… [truncated at max_bytes=4000 of 45127]
The answer the agent can now give
The quoted phrases are the article's own words — checkable against the source — not a model's restatement of them.
Deno 2.9's headline is deno desktop — native desktop
apps from a Deno project, "no Electron boilerplate and
a single binary at the end", with --hmr hot reload in
dev. Migration got easier too: deno install now reads
npm, pnpm, yarn, and Bun lockfiles directly.
Source: deno.com/blog/v2.9 (Bartek Iwańczuk,
25 Jun 2026), read 8 Aug 2026 [via direct] — quotes
verbatim from the article; 4 KB of 45 KB was enough.
Measured improvement, and where this came from
Context: 4 KB (~1k tokens) delivered of a 45,127-byte article, cap declared in the payload — never a silent truncation. Citability: verbatim markdown means the answer quotes the source; a paraphrase can't be checked against anything.
client Claude Code over MCP route [via direct] — open site, no browser needed cross-check same URL returned 44 KB [via direct] in the queued-reads run the same morning retention repeat reads within 24 h come from cache