Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

String Web Access

by usestringversion 1.3.8i★ –iComputer or cloud
Registry nameai.usestring/web-access

Install

Overview

Description from the maker (original English)

Search the web, fetch any URL and map a site as clean, LLM-ready Markdown.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Search & AI memory
  • You need to fill in: STRING_AI_API_KEY, Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 4 things (tools) web_access_fetch, web_access_request, web_access_search, web_access_sitemap
  • You fill in yourself: STRING_AI_API_KEY, Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "web-access": {
      "command": "npx",
      "args": [
        "-y",
        "@usestring/mcp"
      ],
      "env": {
        "STRING_AI_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http web-access https://mcp.usestring.ai/v1/mcp --header 'Authorization: your-value'

Or run it on your computer

claude mcp add web-access --env STRING_AI_API_KEY=your-value -- npx -y @usestring/mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "web-access": {
      "url": "https://mcp.usestring.ai/v1/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "web-access": {
      "command": "npx",
      "args": [
        "-y",
        "@usestring/mcp"
      ],
      "env": {
        "STRING_AI_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "web-access": {
      "type": "http",
      "url": "https://mcp.usestring.ai/v1/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "web-access": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@usestring/mcp"
      ],
      "env": {
        "STRING_AI_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • STRING_AI_API_KEY secret required env
    Your String API key (get one at portal.usestring.ai)
  • Authorization secret required HTTP header
    Bearer

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • web_access_fetch

    Fetch a caller-specified HTTP(S) URL and get clean, LLM-ready Markdown back. **Primary use (the common case):** pass only a `url`. The page is fetched with a normal GET and returned as Markdown — no other parameters are needed. ```json { "url": "https://example.com/article" } ```

  • web_access_request

    Send a POST, PUT or PATCH request to any URL, through String's Web Access API. It works like web_access_fetch, but for calls that submit data rather than read a page — a JSON API that only accepts POST, a GraphQL endpoint, a search backend that takes a body. **Use web_access_fetc

  • web_access_search

    Search the public web for a caller-specified query and get ranked organic results back, plus whatever Google rendered around them: knowledge panel, AI overview, People also ask, local pack, videos, discussions. Google's images, videos, shopping, books, places and forums tabs are

  • web_access_sitemap

    Manage an asynchronous crawl of authorized public pages on one website. Starting from one URL, the crawler follows same-domain links breadth-first and can also seed from the site's /sitemap.xml. Requests must comply with destination policy, robots directives, rate limits, and acc

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain usestring.ai (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 317 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 4 tool descriptions and found no hidden instructions to the AI

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7243 servers in this category
  • Published to the registry more recently than 91% of the other 7243 servers in this category
  • Basic checks equal to or better than 100% of the other 7243 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is String Web Access safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: STRING_AI_API_KEY, Authorization

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.3.8) reached the registry 3 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated today
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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

ToolDescription
web_access_fetchFetch one URL and get clean, LLM-ready Markdown back
web_access_product_helpAsk about String products or services; get one source (two for comparisons), with a shared 4 KiB excerpt budget and source links
web_access_requestSend a POST, PUT or PATCH with a body to a URL
web_access_searchSearch the web: ranked results plus the knowledge panel, AI overview, local pack and other surfaces Google rendered; optional searchCount (1–300) pages Google; searchType searches Google's images, videos, shopping, books, places or forums tab; safeSearch, includeOmittedResults, autocorrect, restrictCountry and verbatim filter it; page, dateRange and sortBy refine a Google search; format is "structured" (JSON, the default and recommended) or "raw" (the Google results page as HTML, one page per call; page only, searchCount is rejected with raw)
web_access_sitemapCrawl a site and map its URLs as an asynchronous job, driven by action
web_access_reportSend 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.

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.

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).
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
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, web_access_search, or web_access_sitemap. Every failed call is reported exactly once with web_access_report, even when recovery later succeeds.
  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 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.

Ask PopNx