MCP Directory

Fetch MCP Server

Fetch web content as HTML, JSON, text, Markdown, readable article, or YouTube transcript.

Unverified
stdio (local)
No auth
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npm install -g mcp-fetch-server

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "fetch-mcp-server": {
      "command": "npx",
      "args": [
        "mcp-fetch-server"
      ]
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Node.js with npx (to run mcp-fetch-server), or global install via npm install -g mcp-fetch-server
  • Optional: yt-dlp installed for richer YouTube transcript extraction (falls back to direct page extraction)

About Fetch MCP Server

Fetch MCP Server retrieves web content and returns it in the format an agent needs: raw HTML, JSON, plain text, Markdown, readable article content (stripped of nav/ads/boilerplate via Mozilla Readability), or a YouTube video transcript. It supports pagination through max_length and start_index, custom request headers, and proxying for requests behind firewalls. Built-in SSRF protection and response-size limits guard against private-network access and memory exhaustion. The same package also runs as a standalone CLI.

Tools & capabilities (6)

fetch_html

Fetch a website and return its raw HTML content.

fetch_markdown

Fetch a website and return its content converted to Markdown.

fetch_txt

Fetch a website and return plain text with HTML tags, scripts, and styles removed.

fetch_json

Fetch a URL and return the JSON response.

fetch_readable

Fetch a website and extract the main article content using Mozilla Readability, returned as Markdown. Strips navigation, ads, and boilerplate. Ideal for articles and blog posts.

fetch_youtube_transcript

Fetch a YouTube video's captions/transcript. Uses yt-dlp if available, otherwise extracts directly from the page. Accepts a lang parameter (default 'en') to select the caption language.

When to use it

  • Give an LLM clean, readable article text from a web page without nav, ads, or boilerplate
  • Fetch and convert web pages to Markdown for summarization or RAG ingestion
  • Retrieve JSON from an API endpoint, optionally through a proxy or with custom headers
  • Extract a YouTube video's transcript in a chosen language for analysis or summarization
  • Paginate through long pages using max_length and start_index to stay within context limits

Security notes

Includes SSRF protection that blocks private/localhost addresses and DNS rebinding, plus a response body size limit (MAX_RESPONSE_BYTES, default 10 MB) to prevent memory exhaustion.

Fetch MCP Server FAQ

How do I limit the size of fetched content?

Use the max_length parameter (default 5000 characters) and start_index (default 0) to paginate, or set the DEFAULT_LIMIT env var (set to 0 for no limit). MAX_RESPONSE_BYTES caps the raw response body size (default 10 MB).

Can I fetch through a proxy or with custom headers?

Yes. Every tool accepts an optional proxy URL (e.g. http://proxy:8080) and a headers object for custom request headers.

Does it protect against SSRF?

Yes. The server blocks requests to private/localhost addresses and guards against DNS rebinding, and limits response body size to prevent memory exhaustion.

Do I need yt-dlp for YouTube transcripts?

No. fetch_youtube_transcript uses yt-dlp if it is available, otherwise it extracts the transcript directly from the page.

Alternatives to Fetch MCP Server

Compare all alternatives →

Official MCP reference server that fetches a URL and returns its content as clean Markdown, with chunking.

Verified
stdio (local)
No auth
Python
2 tools
Updated 12 days agoRepo

Official Firecrawl MCP server — scrape, crawl, map, search, and structured extraction for any LLM client.

Verified
stdio (local)
API key
TypeScript
8 tools
Updated 10 days agoRepo

Exa's neural web search and crawling MCP server — runs locally via npx or as a hosted remote endpoint.

Verified
stdio (local)
API key
TypeScript
6 tools
Updated 11 days agoRepo