
Fetch MCP Server
Fetch web content as HTML, JSON, text, Markdown, readable article, or YouTube transcript.
Add to your client
Copy the config for your MCP client and paste it into its config file.
npm install -g mcp-fetch-serverPaste 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_htmlFetch a website and return its raw HTML content.
fetch_markdownFetch a website and return its content converted to Markdown.
fetch_txtFetch a website and return plain text with HTML tags, scripts, and styles removed.
fetch_jsonFetch a URL and return the JSON response.
fetch_readableFetch 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_transcriptFetch 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.
Official Firecrawl MCP server — scrape, crawl, map, search, and structured extraction for any LLM client.
Exa's neural web search and crawling MCP server — runs locally via npx or as a hosted remote endpoint.
Compare Fetch MCP Server with: