string-ai-mcp

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Uyari
  • process.env — Environment variable access in src/index.ts
  • network request — Outbound network request in src/index.ts
  • process.env — Environment variable access in tests/help-fixture.mjs
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Model Context Protocol server for the Web Access API.

README.md

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

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 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.

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 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

Variable Required Description
STRING_AI_API_KEY Yes Your 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.

Yorumlar (0)

Sonuc bulunamadi