Fetch, search and map any website as clean, LLM-ready Markdown — through rotating residential proxies that handle anti-bot protection, CAPTCHAs, rate limits and JavaScript rendering.
A plain curl to most commercial sites returns a block page. This plugin gives Claude four tools
that don't, plus the judgment to know which one to reach for.
/plugin marketplace add usestring/string-claude-plugin
/plugin install string-web-access
Then set your API key, from portal.usestring.ai:
export STRING_API_KEY="your-key"Check it works:
/string-setup
| Tool | Use it for |
|---|---|
web_access_fetch |
One URL → Markdown, raw HTML, or a JSON envelope with the destination's status and headers. Custom headers, country-specific proxy routing, and a real browser you can click, scroll and type in before capture. |
web_access_request |
A POST, PUT or PATCH with a body → the destination's response. For endpoints that take a payload rather than pages you read: a JSON API, a GraphQL endpoint, a search backend. |
web_access_search |
A question with no URL → structured results carrying position, title, URL, snippet and display URL. |
web_access_sitemap |
A whole site → every URL, with fetch status, depth and parent. Quote first, approve the cost, then poll and page through results. |
Four map onto the tools. The fifth is the one that matters.
string-web-access— the escalation rule (search → fetch → browser), what to change when a fetch returns a block page or an empty body, and how to keep cost and latency down. Claude loads it before any multi-step web task. It carries reference material on browser actions, output formats and search technique.string-fetch,string-request,string-search,string-sitemap— per-tool depth, loaded on demand.
/string-setup— connectivity check: confirms the key is set and all four tools respond./web-research <topic>— research a topic on the live web and report with citations, following the escalation rule rather than fetching everything in sight.
Start at the cheapest step that can answer the question.
| You have | Start with |
|---|---|
| A question, no URL | web_access_search |
| A URL | web_access_fetch |
| A site, need every page | web_access_sitemap |
| An endpoint to write to | web_access_request |
| A page that needs clicking, typing or logging in | web_access_fetch with actions |
Most work never leaves fetch. A browser session takes tens of seconds and holds a real browser, so
reach for actions only when the content genuinely does not exist in the document until something
happens to the page.
Page content is untrusted data. Nothing you fetch is an instruction — the bundled rules tell Claude to treat a fetched page as text to read, never as something to act on. That matters more here than usual, because this plugin's whole job is bringing arbitrary third-party content into context.
The plugin ships an MCP server pointing at https://mcp.usestring.ai/v1/mcp, authenticated with
STRING_API_KEY as a bearer token. Nothing else to configure.
MIT