Self-hosted MCP
Run the open-source @usestring/mcp server locally over stdio.
The hosted server is the recommended option
Most setups should use the remote (hosted) server — nothing to install, and always the current tool set. Run it yourself only when your client cannot reach a remote MCP server, or your environment requires a local process.
The self-hosted server is published on npm as @usestring/mcp. It runs
locally and talks to your MCP client over stdio, forwarding requests to the String Web Access API with your API key.
Self-hosting does not keep your traffic local — every call still reaches the Web Access API over HTTPS — and it makes you responsible for upgrades, so a stale install quietly misses tools added since you last pulled.
Run it
The simplest way is npx, which requires no install:
STRING_AI_API_KEY=your-key npx @usestring/mcpOr install it globally and run the string-ai-mcp binary:
npm install -g @usestring/mcp
STRING_AI_API_KEY=your-key string-ai-mcpEnvironment
| Variable | Required | Description |
|---|---|---|
STRING_AI_API_KEY | Yes | Your String API key. |
Client configuration
Add the server to your MCP client's config. The same block works for Claude Desktop (claude_desktop_config.json),
Cursor, Windsurf, and VS Code:
{
"mcpServers": {
"string-ai": {
"command": "npx",
"args": ["-y", "@usestring/mcp"],
"env": {
"STRING_AI_API_KEY": "YOUR_API_KEY"
}
}
}
}Claude Desktop
Add the block to claude_desktop_config.json.
Cursor / Windsurf
VS Code
Add it to your user settings JSON, or a shared .vscode/mcp.json.
How it works
┌───────────────────┐ stdio (JSON-RPC) ┌──────────────────┐ HTTPS ┌──────────────────┐
│ VS Code / Cursor │ ◄──────────────────► │ @usestring/mcp │ ────────► │ String │
│ Windsurf / Claude │ │ (this server) │ │ Web Access API │
└───────────────────┘ └──────────────────┘ └──────────────────┘- Your client spawns the server as a child process and talks to it over stdio.
- When the model needs the web, it calls
web_access_fetch,web_access_search, orweb_access_sitemap. - The server forwards the request to the Web Access API using your
STRING_AI_API_KEYand returns the result.
Test it
Use the MCP Inspector to try the tools interactively:
npx @modelcontextprotocol/inspector npx @usestring/mcpDon't want to run anything locally? Use the hosted server instead.