Back to Directory/Search & Knowledge

ai.usestring/web-access

The most accurate web access API. Stop getting blocked.

Search & KnowledgeTypeScriptv1.2.2

String AI Web Access MCP Server

The official Model Context Protocol (MCP) server for String AI's Web Access API. Connect any MCP-compatible client — VS Code, Cursor, Windsurf, Claude Desktop, and more — to String AI's powerful web access capabilities.

Tools

ToolDescription
web_access_fetchFetch one URL and get clean, LLM-ready Markdown back
web_access_requestSend a POST, PUT or PATCH with a body to a URL
web_access_searchSearch the web and get structured results back
web_access_sitemapCrawl a site and map its URLs as an asynchronous job, driven by action

web_access_fetch and web_access_search 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 a block screen: proxy rotation, challenge handling and JavaScript rendering happen server-side.

The four-tool shape above is what the hosted server at https://mcp.usestring.ai/v1/mcp serves. The npm package on this repo is still at 1.2.1, where writes go through web_access_fetch's method and body parameters instead of a separate tool.

web_access_sitemap — sitemap crawl jobs

A crawl is a two-phase, asynchronous quote → approve → poll → read job: nothing is crawled or billed until the quote is explicitly approved.

actionWhat it does
submitQuote a crawl (url required; maxPages ≤ 10000 default 10, maxDepth ≤ 100 default 2, pathPrefix, budgetUsd, useSitemap optional). Returns jobId + estimatedCostUsd + estimatedPages, status awaiting_approval.
approveBilling consent — starts the crawl. 402 = insufficient funds; 409 partial_state = retry approve.
statusPoll progress: awaiting_approval → running (pending/processed) → completed | failed | canceled | token_cap_exceeded; partial_state = retry approve. Returns counts only — URLs come from results.
resultsPaginated discovered URLs (limit ≤ 5000 default 1000, offset). Durable after completion; per-URL discoveredUrls is only present for ~1h.
cancelStop a non-terminal job; already-fetched pages stay billed and readable.
listThe account's recent crawl jobs (limit ≤ 100 default 20, offset).

Quick Start

Run with npx

env STRING_AI_API_KEY=your-key npx @usestring/mcp

Install globally

npm install -g @usestring/mcp
STRING_AI_API_KEY=your-key string-ai-mcp

Build from source

git clone https://github.com/usestring/string-ai-mcp.git
cd string-ai-mcp
npm install
npm run build
STRING_AI_API_KEY=your-key node build/index.js

Environment Variables

VariableRequiredDescription
STRING_AI_API_KEYYesYour String AI API key

Client Configuration

VS Code

Press Ctrl+Shift+P → Preferences: Open User Settings (JSON) and add:

{
	"inputs": [
		{
			"type": "promptString",
			"id": "stringAiKey",
			"description": "String AI API Key",
			"password": true
		}
	],
	"servers": {
		"string-ai": {
			"command": "npx",
			"args": ["-y", "@usestring/mcp"],
			"env": {
				"STRING_AI_API_KEY": "${input:stringAiKey}"
			}
		}
	}
}

Or add a .vscode/mcp.json file to share the configuration with your team.

Cursor

Open Settings → Features → MCP Servers → + Add new global MCP server and paste:

{
  "mcpServers": {
    "string-ai": {
      "command": "npx",
      "args": ["-y", "@usestring/mcp"],
      "env": {
        "STRING_AI_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/model_config.json:

{
  "mcpServers": {
    "string-ai": {
      "command": "npx",
      "args": ["-y", "@usestring/mcp"],
      "env": {
        "STRING_AI_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "string-ai": {
      "command": "npx",
      "args": ["-y", "@usestring/mcp"],
      "env": {
        "STRING_AI_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Testing with the MCP Inspector

The MCP Inspector lets you test your server interactively in a browser:

npx @modelcontextprotocol/inspector node build/index.js

Then open http://127.0.0.1:6274, connect via stdio, and try calling each tool from the UI.

How It Works

┌──────────────────┐   stdio (JSON-RPC)   ┌──────────────────┐   HTTPS   ┌──────────────────┐
│  VS Code / Cursor │ ◄──────────────────► │  String AI       │ ────────► │  String AI       │
│  Windsurf / Claude│                      │  Web Access MCP  │           │  Web Access API  │
└──────────────────┘                       └──────────────────┘           └──────────────────┘
  1. The IDE spawns this server as a child process and communicates over stdio.
  2. When the LLM decides it needs web content, it invokes web_access_fetch or web_access_search.
  3. This server forwards the request to String AI's Web Access API (using your API key from the environment) and returns the result to the LLM.

About String AI

String AI provides a powerful web access API that handles proxies, anti-bot measures, and JavaScript rendering automatically. Get your API key at usestring.ai.

License

MIT

Security

Please report security vulnerabilities privately as described in SECURITY.md.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @usestring/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "ai-usestring-web-access": {
      "command": "npx",
      "args": [
        "-y",
        "@usestring/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@usestring/mcpnpm

Compatible MCP Clients

ai.usestring/web-access works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More