# Model Context Protocol (https://www.scrape-sdk.com/docs/guides/model-context-protocol)

Canonical: https://www.scrape-sdk.com/docs/guides/model-context-protocol
Markdown: https://www.scrape-sdk.com/docs/guides/model-context-protocol.md



Cursor, Claude Code, and Codex already have **WebSearch** — keep using it. Their **WebFetch** often **summarizes** the page (Claude Code uses Haiku). This server returns the actual markdown body, plus site map, crawl, and JSON extract.

```json title="mcp.json"
{
  "mcpServers": {
    "scrape-sdk": {
      "command": "npx",
      "args": ["-y", "scrape-sdk-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "fc-...",
        "TAVILY_API_KEY": "tvly-...",
        "JINA_API_KEY": "jina_..."
      }
    }
  }
}
```

A copy lives at `examples/mcp.json`. The skill at `skills/scrape-sdk/` ships a sibling `mcp.json`.

Tools:

* `scrape_url` — always. Full page markdown, default 20\_000 chars, `truncated` + `charCount` + `failedOverFrom`. Named so it does not collide with host `WebFetch`. Use this when you need the real page.
* `search_web` — only if `TAVILY_API_KEY` or `FIRECRAWL_API_KEY` is set. Otherwise use the host WebSearch.
* `map_site` / `crawl_site` / `extract_json` — when a configured provider supports them. Hosts do not ship these.

`fromEnv()` reads `FIRECRAWL_API_KEY` (or `FIRECRAWL_KEY`), `TAVILY_API_KEY`, `JINA_API_KEY`, `SPIDER_API_KEY`, `BROWSERBASE_API_KEY`.