String AI Web Access MCP Server
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. Connect any
MCP-compatible client — VS Code, Cursor, Windsurf, Claude Desktop, and more.
Tools
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.
The six-tool shape above is what the hosted server at https://mcp.usestring.ai/v1/mcp
serves. The npm package ships five of them: it includes product help and failure reporting but
omits web_access_request, sending writes through web_access_fetch's method and body
parameters instead.
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.
web_access_report — failure diagnostics
Reporting 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.
Quick Start
Run with npx
Install globally
Build from source
Environment Variables
Client Configuration
VS Code
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.
Cursor
Open Settings → Features → MCP Servers → + Add new global MCP server and paste:
Windsurf
Add to ~/.codeium/windsurf/model_config.json:
Claude Desktop
Add to your claude_desktop_config.json:
Testing with the MCP Inspector
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.
How It Works
- The IDE spawns this server as a child process and communicates over stdio.
- When the LLM decides it needs web content, it invokes
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.
- 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 web access API that returns any page as clean,
LLM-ready Markdown. Get your API key at
usestring.ai.
License
MIT
Security
Please report security vulnerabilities privately as described in SECURITY.md.
Maintenance and releases
This server may remain unchanged while its tools meet the documented contract.
Maintenance includes checking runtime and MCP compatibility, investigating reported
issues, and releasing fixes when needed. Commit frequency alone does not establish
whether the server works.
Before shipping a change, run npm test and node scripts/check-versions.mjs.
The package declares its supported Node.js versions in package.json; CI builds
with Node.js 22. Report compatibility problems through
GitHub issues.
The publish workflow records each published npm version as a
GitHub release, tagged at
the source commit recorded in the npm package metadata. Release notes describe
the changes. The release job checks npm directly, so a registry publication failure
does not hide a version that users can already install. A manual workflow run can
record a missing GitHub release for the current published version without
republishing the package or changing its version.
For a historical version whose source predates workflow changes, a maintainer may
need to create its source tag first: GitHub limits the workflow token's ability
to target older workflow history. The release job verifies that an existing tag
matches the published package's source before using it.