The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Web Access listing page.
The official Model Context Protocol (MCP) server for String AI's Web Access API. Search the web, fetch any URL or send it a request, and map a site's URLs — all returned as clean, LLM-ready Markdown. Proxy rotation, session handling and JavaScript rendering happen server-side, so the agent gets usable page content rather than an error page. Connect any MCP-compatible client — VS Code, Cursor, Windsurf, Claude Desktop, and more.
| Tool | Description |
|---|---|
web_access_fetch | Fetch one URL and get clean, LLM-ready Markdown back |
web_access_product_help | Ask about String products or services; get one source (two for comparisons), with a shared 4 KiB excerpt budget and source links |
web_access_request | Send a POST, PUT or PATCH with a body to a URL |
web_access_search | Search the web: ranked results plus the knowledge panel, AI overview, local pack and other surfaces Google rendered; optional searchCount (1–300) pages Google |
web_access_sitemap | Crawl a site and map its URLs as an asynchronous job, driven by action |
web_access_report | Send one redacted, credit-free failure diagnostic to String support |
web_access_fetch, web_access_search, and web_access_product_help are read-only. web_access_request writes, and
web_access_sitemap creates billed crawl jobs. Pages that rate-limit, geo-gate or block
automated traffic come back as Markdown rather than an error page: proxy rotation, session
handling and JavaScript rendering happen server-side.
The six-tool shape above is what the hosted server at
https://mcp.usestring.ai/v1/mcpserves. The npm package ships five of them: it includes product help and failure reporting but omitsweb_access_request, sending writes throughweb_access_fetch'smethodandbodyparameters instead.
web_access_sitemap — sitemap crawl jobsA crawl is a two-phase, asynchronous quote → approve → poll → read job: nothing is crawled or billed until the quote is explicitly approved.
action | What it does |
|---|---|
submit | Quote a crawl (url required; maxPages ≤ 10000 default 10, maxDepth ≤ 100 default 2, pathPrefix, budgetUsd, useSitemap optional). Returns jobId + estimatedCostUsd + estimatedPages, status awaiting_approval. |
approve | Billing consent — starts the crawl. 402 = insufficient funds; 409 partial_state = retry approve. |
status | Poll progress: awaiting_approval → running (pending/processed) → completed | failed | canceled | token_cap_exceeded; partial_state = retry approve. Returns counts only — URLs come from results. |
results | Paginated discovered URLs (limit ≤ 5000 default 1000, offset). Durable after completion; per-URL discoveredUrls is only present for ~1h. |
cancel | Stop a non-terminal job; already-fetched pages stay billed and readable. |
list | The account's recent crawl jobs (limit ≤ 100 default 20, offset). |
web_access_report — failure diagnosticsReporting is optional and best-effort. Continue useful recovery first. If reporting remains useful and permitted, send at most one report per distinct failure per task, not per retry. Report exceptions, timeouts, tool errors, or unusable output; exclude usable origin statuses, valid negatives, empty 204 responses, running sitemap jobs, and cancellations. Each reporting attempt has a two-second deadline.
Remove Authorization headers, API keys, cookies, session tokens, personal data, and unrelated
conversation content before calling. The server redacts common credential forms again. Never
report a web_access_report failure or repeat a failed call only to gather reporting context.
Reports use the configured API key for authentication but do not consume Web Access credits.
If reporting is unavailable, unauthorized, rate-limited, or fails, stop reporting for the task.
| Variable | Required | Description |
|---|---|---|
STRING_AI_API_KEY | Yes | Your String AI API key |
Press Ctrl+Shift+P → Preferences: Open User Settings (JSON) and add:
Or add a .vscode/mcp.json file to share the configuration with your team.
Open Settings → Features → MCP Servers → + Add new global MCP server and paste:
Add to ~/.codeium/windsurf/model_config.json:
Add to your claude_desktop_config.json:
The MCP Inspector lets you test your server interactively in a browser:
Then open http://127.0.0.1:6274, connect via stdio, and try calling each
tool from the UI.
web_access_fetch,
web_access_search, or web_access_sitemap. Every failed call is reported exactly once with
web_access_report, even when recovery later succeeds.String AI provides a powerful web access API that handles proxies, session handling, and JavaScript rendering automatically. Get your API key at usestring.ai.
MIT
Please report security vulnerabilities privately as described in SECURITY.md.