Better Fetch

Hosted MCP connector

Give your AI a better fetch.

One connection gives Claude and ChatGPT browser-grade retrieval, clean text and Markdown, sticky sessions, API discovery, screenshots, regional routing, and 92 ready-made web tools.

Connect with your Better Fetch account

In Claude, open Settings → Connectors, add a custom connector, paste this URL, then sign in. No API key to copy.

https://betterfetch.co/api/mcp

Claude Code power user

/plugin marketplace add better-fetch/claude-plugins
/plugin install better-fetch@better-fetch

Adds retrieval skills and a scraper subagent alongside the MCP connector.

OAuth sign-in50 free credits each monthFull setup guide
Hosted
No Playwright, browser binary, proxy, or local daemon to install. Better Fetch runs the retrieval layer for the model.
OAuth first
Sign in with your Better Fetch account. The connection creates a revocable key without exposing it in chat or configuration.
Cost-aware
The server tells the agent to start cheaply, reuse sessions, avoid blind retries, and escalate routing only when necessary.
A compact tool surface
Core retrieval primitives stay directly available. The growing catalogue is searched on demand, so the model does not have to choose among dozens of specialist schemas on every turn.
ToolWhat it does
search_toolsFind a ready-made scraper or extractor in the live catalogue and return its schema, example inputs, and estimated credit cost.
run_toolRun one exact catalogue tool selected with search_tools, without loading every specialist tool into the default MCP surface.
fetch_urlFetch raw HTML or return clean readable text/Markdown. Better Fetch uses direct HTTP first, Chromium when rendering is needed, and optional residential escalation, with block, cache, transport, attempt, and routing metadata.
scrape_pageRetrieve one HTML page as a deterministic model-ready document: clean text, Markdown, metadata, canonical links, images, and retrieval diagnostics.
scrape_jsonFetch a JSON endpoint with browser-compatible headers and session reuse when needed, returning parsed JSON, fallback body_text, and response metadata.
screenshot_urlRender a page and capture a viewport or full-page PNG screenshot.
discover_apisLoad a page and capture the XHR/fetch calls it makes, with optional response previews and streamed values, to find internal APIs behind the page.
get_clearanceAttempt a Cloudflare challenge flow and return cf_clearance cookie metadata when the browser receives it, plus the reusable Better Fetch session.
get_datadome_cookieRender a DataDome-protected page and return datadome cookie metadata when the browser receives it, plus the reusable Better Fetch session.
get_usageCheck the connected Better Fetch account: plan, credits used this billing period, remaining quota, stored browser sessions, and reset time.
list_sessionsList active account-scoped browser sessions without exposing cookies, localStorage, or snapshot object paths.
clear_sessionClear a stored browser session through the backend, delete its portable snapshot, and make future requests with that session name start from a fresh profile key.
Use an API key instead
OAuth is the recommended path. For unattended Codex environments or clients without OAuth, create a bf_ key and read it from an environment variable.
[mcp_servers.better_fetch]
url = "https://betterfetch.co/api/mcp"
bearer_token_env_var = "BETTER_FETCH_API_KEY"
tool_timeout_sec = 260

Server URL: https://betterfetch.co/api/mcp. Keep API keys out of committed config and chat transcripts.