If you've tried to give an LLM agent web access, you've hit this wall: point it at the real web and a plain fetch breaks two ways.
JavaScript sites return an empty <div id="root"> shell — the model gets nothing.
Anything commercially interesting returns a 403 or a Cloudflare "just a moment" page.
I kept hitting this building agent workflows, so I open-sourced the tool I made:
HatFetch — an MIT-licensed MCP server that gives Claude, Cursor, or any MCP






