Data as of

Fetch MCP Server for Windsurf: Setup & Config

Windsurf: Fetch MCP Server retrieves web pages as HTML, text, Markdown, JSON, or cleaned article content.

What you can do with Fetch in Windsurf

Choose format-specific web retrieval with readable articles, transcripts, and bounded output.

  • Retrieve JSON from a URL with custom request headers.
  • Extract a YouTube transcript in a selected language.

Before you start: Fetch in Windsurf

  • Node.js with npx
  • Optional yt-dlp for transcript extraction

This is the README MCP launch, not the mcp-fetch CLI invocation. The supplied structured tool catalog and README list different tools; verify the running server tool list.

Fetch Windsurf configuration

  1. Choose Windsurf configuration scope

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

  2. Add Fetch MCP Server to Windsurf

    Use the fetch-mcp-zcaceres entry below in mcpServers. Keep Fetch MCP Server's documented stdio connection fields and your other Windsurf entries.

  3. Check Fetch MCP Server in Windsurf

    Fetch MCP Server: 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": {
    "fetch-mcp-zcaceres": {
      "command": "npx",
      "args": [
        "mcp-fetch-server"
      ],
      "env": {
        "DEFAULT_LIMIT": "<Optional default response character limit>",
        "MAX_RESPONSE_BYTES": "<Optional response-body byte limit>"
      }
    }
  }
}

Fetch tools available to Windsurf

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

fetch_html

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch_html.

Retrieve a page as raw HTML.

fetch_markdown

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch_markdown.

Convert fetched page content to Markdown.

fetch_txt

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch_txt.

fetch_json

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch_json.

fetch_readable

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch_readable.

Extract the main article body as Markdown using Readability.

fetch_youtube_transcript

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch_youtube_transcript.

Retrieve video captions with an optional language selection.

fetch

After refreshing Fetch in Windsurf settings, check Cascade's tool list for fetch.

get-rules

After refreshing Fetch in Windsurf settings, check Cascade's tool list for get-rules.

graphql

After refreshing Fetch in Windsurf settings, check Cascade's tool list for graphql.

puppeteer

After refreshing Fetch in Windsurf settings, check Cascade's tool list for puppeteer.

Operate browser pages, execute JavaScript, and capture screenshots.

socket

After refreshing Fetch in Windsurf settings, check Cascade's tool list for socket.

Open, inspect, use, or close WebSocket connections.

Fetch: full stored tool descriptions

Troubleshooting Fetch in Windsurf

  • Check npx mcp-fetch-server (Node.js/npm) on the machine running Windsurf's MCP integration for Fetch MCP Server; refresh MCP and inspect Cascade's tools.
  • Check DEFAULT_LIMIT, MAX_RESPONSE_BYTES for Fetch MCP Server; do not bypass a Windsurf permission error with a broad administrator token.
  • Fetch MCP Server uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Default response character and byte limits constrain large fetches.
  • Known limitation: Structured input tools differ from the README tool list.
  • Known limitation: Private and localhost targets are blocked by the documented SSRF protection.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Fetch MCP Server — details. Windsurf guide

Frequently asked questions

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

Windsurf's fetch-mcp-zcaceres example uses stdio.

Fetch MCP Server's Windsurf configuration invokes npx mcp-fetch-server (Node.js/npm).

Windsurf's Fetch MCP Server example references DEFAULT_LIMIT, MAX_RESPONSE_BYTES. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

Fetch MCP Server's stored list contains 11 tools, including fetch_html, fetch_markdown, fetch_txt. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

The README provides fetch_readable, which uses Mozilla Readability and returns Markdown.

Yes. Tools accept max_length and start_index for character-based slices.

The supplied structured facts list generic network tools, while the README documents format-specific fetch tools. Both are attributed to their respective source.