Data as of

Fetcher MCP for Windsurf: Setup & Config

Windsurf: Fetcher MCP retrieves web pages through Playwright and returns their content as Markdown or HTML.

What you can do with Fetcher in Windsurf

Pick it for browser-rendered content extraction with parallel fetching and practical debugging controls.

  • Extract article text without navigation and ads.
  • Use a visible browser to log in before retrieving authenticated content.

Before you start: Fetcher in Windsurf

  • Node.js and npx
  • Playwright Chromium
  • An MCP-compatible client

The README first installs the browser with npx playwright install chromium. The browser_install tool can also resolve missing-browser errors. An HTTP launch alternative exposes /mcp and /sse. No required environment variables are stated.

Fetcher Windsurf configuration

  1. Choose Windsurf configuration scope

    For Fetcher MCP, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add Fetcher MCP to Windsurf

    Use the fetcher-mcp entry below in mcpServers. Keep Fetcher MCP's documented stdio connection fields and your other Windsurf entries.

  3. Check Fetcher MCP in Windsurf

    Fetcher MCP: Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

JSON
{
  "mcpServers": {
    "fetcher-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "fetcher-mcp"
      ],
      "env": {}
    }
  }
}

Fetcher tools available to Windsurf

Fetcher's stored tool list documents 3 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.

fetch_url

After refreshing Fetcher in Windsurf settings, check Cascade's tool list for fetch_url.

Load one URL in Playwright and return extracted or full page content.

fetch_urls

After refreshing Fetcher in Windsurf settings, check Cascade's tool list for fetch_urls.

Retrieve several URLs concurrently with the same content and loading controls.

browser_install

After refreshing Fetcher in Windsurf settings, check Cascade's tool list for browser_install.

Fetcher: full stored tool descriptions

Troubleshooting Fetcher in Windsurf

  • Check npx fetcher-mcp (Node.js/npm) on the machine running Windsurf's MCP integration for Fetcher MCP; refresh MCP and inspect Cascade's tools.
  • Fetcher MCP uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Needs a Playwright Chromium binary and associated runtime dependencies.
  • Known limitation: Verification-heavy pages may require manual interaction or timeout tuning.
  • Known limitation: Default resource blocking changes what the browser loads.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Fetcher MCP — details. Windsurf guide

Frequently asked questions

Windsurf reads Fetcher MCP under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's fetcher-mcp example uses stdio.

Fetcher MCP's Windsurf configuration invokes npx fetcher-mcp (Node.js/npm).

Fetcher MCP's stored list contains 3 tools, including fetch_url, fetch_urls, browser_install. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

Yes. Enable returnHtml; disabling extractContent also retains content beyond the extracted main section.

The README describes enabling debug mode, signing in manually in the visible browser, and then fetching with that session.