Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search the web, fetch any URL and map a site as clean, LLM-ready Markdown.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
STRING_AI_API_KEY, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
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.
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'claude mcp add web-access --env STRING_AI_API_KEY=your-value -- npx -y @usestring/mcpFill in the empty values before running it.
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"
}
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"web-access": {
"type": "http",
"url": "https://mcp.usestring.ai/v1/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
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_fetchFetch 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_requestSend 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_searchSearch 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_sitemapManage 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
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
The registry name was verified against the domain usestring.ai (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 317 ms (HTTP 200)
No sign-in needed
Read 4 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
You need to fill in: STRING_AI_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.3.8) reached the registry 3 days ago.
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.
In the same category: Context7, Codebase Memory, Exa
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
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
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.
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.
| 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; 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_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.
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 throughweb_access_fetch'smethodandbody
parameters 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.
env STRING_AI_API_KEY=your-key npx @usestring/mcp
npm install -g @usestring/mcp
STRING_AI_API_KEY=your-key string-ai-mcp
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
| Variable | Required | Description |
|---|---|---|
STRING_AI_API_KEY | Yes | Your String AI API key |
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.
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" } } } }
Add to ~/.codeium/windsurf/model_config.json:
{
"mcpServers": { "string-ai": { "command": "npx", "args": ["-y", "@usestring/mcp"], "env": { "STRING_AI_API_KEY": "YOUR_API_KEY" } } } }
Add to your claude_desktop_config.json:
{
"mcpServers": { "string-ai": { "command": "npx", "args": ["-y", "@usestring/mcp"], "env": { "STRING_AI_API_KEY": "YOUR_API_KEY" } } } }
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.
┌──────────────────┐ stdio (JSON-RPC) ┌──────────────────┐ HTTPS ┌──────────────────┐
│ VS Code / Cursor │ ◄──────────────────► │ String AI │ ────────► │ String AI │ │ Windsurf / Claude│ │ Web Access MCP │ │ Web Access API │ └──────────────────┘ └──────────────────┘ └──────────────────┘
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 web access API that returns any page as clean, LLM-ready Markdown. Get your API key at usestring.ai.
MIT
Please report security vulnerabilities privately as described in SECURITY.md.
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.