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