Suggest a server AI tools directory →

Fetch MCP server

Last verified: 2026-09

Fetch a URL and turn the page into readable text.

Official reference Browser & search Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code, VS Code

What it does

Fetches a URL and returns readable text. No JavaScript, no cookies, no login. Use it when the page is public HTML. Use Playwright or Puppeteer when the content only appears after the page runs JS.

It sits in Browser & search: Three different jobs get mixed up here.

Good for

  • Paste a docs URL and get the main text without a browser.
  • Read a public changelog or RFC the model has not seen.
  • Pull one HTML article into the chat as markdown-ish text.
  • Check a status page that is public and does not need login.

Tools

  • fetch — GET a URL and extract the main text.

Config (Claude Desktop / Cursor / Windsurf)

Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets. Windows paths look like C:\\Users\\you\\project, not /path/to. Host-side steps →

Claude Desktop

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<you>\AppData\Roaming\Claude\)
Linux~/.config/Claude/claude_desktop_config.json

Cursor

ScopemacOS / LinuxWindows
This project.cursor/mcp.json in the repo root
This user~/.cursor/mcp.json %USERPROFILE%\.cursor\mcp.json

Windsurf

OSConfig file
macOS / Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ],
      "env": {
        "USER_AGENT": "AIKetra-MCP/1.0"
      }
    }
  }
}

Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.

One-liner: uvx mcp-server-fetch

Secrets it wants: optional USER_AGENT

Source repo →

How to get started

  1. Add the JSON below. No API key.
  2. Ask the model to fetch a specific public URL and summarize it.
  3. Set USER_AGENT if a site blocks the default client.

Access risk

The model chooses the URL. That can hit internal hostnames if the machine can reach them (SSRF). Do not run it on a box that can see staging or metadata endpoints you care about.

When to skip it

Skip it for search (Brave / Exa / Tavily) or for logged-in / JS-heavy apps (Playwright).

Instead: Brave Search, Playwright, Firecrawl.

Vs alternatives

ServerOfficial?Needs a secret?Best for
FetchYesYesFetch a URL and turn the page into readable text.
Brave SearchYesYesWeb search via the Brave Search API.
PlaywrightNoNoMicrosoft's browser automation MCP for Chromium, Firefox, and WebKit.
FirecrawlNoYesCrawl and scrape sites into clean markdown.

More in Browser & search

All 11 in this category →

FAQ

Does Fetch run JavaScript?

No. No cookies, no login. If the content only appears after the page runs JS, use Playwright or Puppeteer.

Can it hit localhost or staging?

Yes, from your laptop — that is SSRF. Do not run it on a box that can see internal metadata or admin UIs.

Fetch or Firecrawl?

One known public URL → Fetch, no key. Multi-page crawl or cleaner extraction → Firecrawl.

Do I need an API key?

No. Optional USER_AGENT only.