---
title: "MCP server"
description: "Give an AI agent Webfold's fetch, search, crawl and capture tools over MCP."
---

`webfold-mcp` is a stdio Model Context Protocol server. It is a control plane over Webfold: it calls the native library where possible and shells out only for long-lived services and CLI-only batch or WARC surfaces. Run it with no arguments and have your MCP client launch it.

**Claude Desktop (claude_desktop_config.json)**

```json
{
  "mcpServers": {
    "webfold": {
      "command": "/path/to/webfold/target/release/webfold-mcp"
    }
  }
}
```

**Call a tool by hand**

```sh
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"webfold_scrape","arguments":{"url":"https://example.com"}}}' | ./target/release/webfold-mcp
```

:::note
The authoritative tool list is whatever `tools/list` returns from your build. The table below lists the tools defined in the source today.
:::

## Fetch and extract

| Tool | Does |
| --- | --- |
| `webfold_scrape` | Scrape a URL or local HTML file to clean Markdown or chunks. |
| `webfold_fetch` | Fetch a URL and return Markdown, raw HTML or links. |
| `webfold_fetch_json` | Fetch through the native backend and return structured metadata plus Markdown and links. |
| `webfold_harness_fetch` | Policy fetch for harnesses: cache, retry, robots check, rate limit, fallback, confidence. |
| `webfold_links` | Fetch a URL and return its extracted links. |
| `webfold_chunk`, `webfold_pdf` | Convert HTML, Markdown, text, PDF or a URL to Markdown chunks. |
| `webfold_workflow` | Navigation, click, bounded wait, evaluation and structured extraction. Unsupported actions return an error. |

## Search, crawl and index

| Tool | Does |
| --- | --- |
| `webfold_search`, `webfold_search_json` | Search through Webfold's search adapters; the JSON form returns normalised result rows. |
| `webfold_serp_normalize` | Normalise saved SERP HTML into the rank, url, title, snippet and ad contract. |
| `webfold_crawl` | Crawl a URL or HTML directory, fold shared chrome once, optionally emit page Markdown. |
| `webfold_index_crawl`, `webfold_index_search`, `webfold_index_map` | Crawl from a seed and serialise, search, or map the local index. |
| `webfold_index_update`, `_stats`, `_prune`, `_file_search` | Maintain and query a persistent, deduplicated index JSONL artefact without recrawling. |
| `webfold_batch` | Batch extraction over an HTML directory. |

## Archives and services

| Tool | Does |
| --- | --- |
| `webfold_capture` | Capture one URL into a WARC archive. |
| `webfold_warc`, `webfold_warc_dump` | WARC extraction summary and page dump. |
| `webfold_headless` | Navigate with headless mode, with stealth and an optional proxy. |
| `webfold_cdp_start`, `webfold_proxy_start`, `webfold_flaresolverr_start` | Start the CDP server, the intercepting proxy, or the FlareSolverr-compatible service. |
| `webfold_service_status`, `webfold_service_stop` | List and stop services started by this MCP process. |
| `webfold_social_*` | Read, search and crawl routed social platforms. |

:::warning
Keep CDP, proxy and FlareSolverr services on controlled interfaces. The FlareSolverr-compatible binary has been reported to default to an unauthenticated all-interface listener; see [Security](/docs/reference/security).
:::

Looking for the hosted MCP server that fronts the API? See [Agents and MCP](/docs/api/mcp).
