One Wikipedia page costs your AI agent 68,000 tokens

i use claude code daily and measured what pages cost it while doing research. an average wikipedia article, for instance, is 68,240 tokens of raw html (tiktoken); nike's homepage is 353,000.

claude code's built-in webfetch handles the easy case well. it summarizes wikipedia to about 950 tokens and clears cloudflare on some sites like indeed and ticketmaster. but, and there's always a but, on js-rendered and some anti-bot pages it returns nothing.

quotes.toscrape.com/js gives "no quotes found"; nike.com gives a 403. your agent then dumps the raw html back into context and still fails. (note: i have also had cases where i read through the chat at the end and saw that it failed and just pulled from either training data or stale caches from other sources)

so i worked on building an open-source stealth browser (recompiled chromium) that runs as an mcp for claude code, cursor, and claude desktop. essentially all i have to change form my end is add the mcp, and it returns the cleaned up tokens while also beating detection: the js quotes come back in 285 tokens, nike in about 700 instead of a 403.

there is still stuff i am actively working on: there's no residential egress yet, and it won't beat kasada-style walls. it's for agents, qa, and research.

repo and the reproducible benchmark: https://github.com/tiliondev/fortress/tree/main/mcp i'm the author and here for feedback.

12 points | by arhamislam5766 17 hours ago

10 comments

  • bugalati 2 hours ago
    gonna try this out this week, one ask: when a wall does beat it, return "blocked, here's why" instead of empty, avoiding silent fetch failures.
  • ohadkr 4 hours ago
    Token reduction is useful, but knowing whether the agent actually accessed the real page is even more important.
  • chonghaoju 14 hours ago
    stripping to markdown with Jina Reader or Trafilatura before passing to the agent cuts that 68k down to ~3-5k for most Wikipedia pages, and handles the JS-rendered case too.
    • armanluthra_ 11 hours ago
      +1. i think the the additional value prop is the bypassing blockers. ideally op should just use jina on top of whatever they are building.
  • arthurcolle 17 hours ago
    one of the early jina.ai products was/is reader api, and they trained ReaderLM for this purpose. definitely a good idea to check out existing implementations
  • m463 15 hours ago
    > on js-rendered and some anti-bot pages it returns nothing

    yeah, and my (human piloted) browser gets blocked by so many websites now. I routinely get "Sorry." when trying to log into hn.

    sigh.

    • dlcarrier 15 hours ago
      Hacker News is the one page that hasn't assumed I'm a bot, yet.

      At this rate, we'll need to use bots to browse the web for us, because they're the only way to get through the anti-bot filters.

  • mkbkn 12 hours ago
    And how much water?
  • MoAz06 3 hours ago
    [flagged]
  • vchernyaev 5 hours ago
    [flagged]
  • PaiDxng 7 hours ago
    [dead]
  • rolandfarkas 17 hours ago
    [dead]