DEV Community

NickPury
NickPury

Posted on

I built MCP Sub-50ms fetches for protected websites

I built Karon.

A lot of "AI agent infrastructure" feels backwards to me: lots of abstraction, lots of demos, and not much that actually helps an agent reach a real page on the live web.

So I built something simpler: an API that fetches pages that normal HTTP clients often fail to reach, plus an agent-friendly endpoint that returns clean markdown/text instead of raw HTML.

The basic flow is:

  • The first request clears the WAF challenge (3–10s)
  • Session state gets cached
  • Subsequent requests to the same site reuse the session (~45ms)
  • /v1/agent/browse returns cleaned content for agent workflows

What I wanted was not a "platform" pitch, just infrastructure that is immediately usable.

Available now:

  • Free tier
  • No credit card
  • Failed requests are free
  • Google sign-in for self-serve API keys
  • MCP package for agent workflows: pip install karon-mcp
  • /v1/agent/browse for markdown / text extraction

Examples:

Raw HTML:

curl -X POST https://api.karonlabs.net/v1/fetch \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.nike.com"}'
Enter fullscreen mode Exit fullscreen mode

Clean markdown for agent workflows:

curl -X POST https://api.karonlabs.net/v1/agent/browse \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.nike.com","extract":"markdown"}'
Enter fullscreen mode Exit fullscreen mode

MCP (Claude / Cursor — no install needed, uvx handles it):

{
  "mcpServers": {
    "karon": {
      "command": "uvx",
      "args": ["karon-mcp"],
      "env": { "KARON_API_KEY": "YOUR_KEY" }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

A few boundaries:

  • Ticketing, login automation, financial sites, and similar abuse-heavy categories are blocked by default
  • Rate limits are per key
  • Content is not stored beyond cache TTL

Links:

Happy to answer questions about caching, agent integration, where it works well, and where it breaks.

Top comments (0)