Fetch MCP Server logo

Fetch MCP Server

Fetch web pages, APIs, feeds, sitemaps, and metadata through SSRF-protected MCP tools.

Install Fetch MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "fetch-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@yawlabs/fetch-mcp@latest"
      ],
      "env": {
        "FETCH_MCP_ALLOW_PRIVATE_HOSTS": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Fetch MCP Server provides MCP tools for making HTTP requests and extracting structured content from web resources. It supports standard HTTP methods, HTML conversion, reader-mode article extraction, page metadata, links, robots.txt, sitemaps, and RSS or Atom feeds. SSRF checks protect requests by default, including validation of every redirect hop and DNS-resolved address. Use it when an agent needs controlled web retrieval, API access, or compact page content for an LLM.

Use cases

  • Fetch API responses with configurable headers, authentication, retries, and timeouts
  • Convert web pages into compact markdown for LLM context
  • Extract article text while removing navigation and page chrome
  • Inspect page metadata, links, feeds, robots.txt, and sitemaps
  • Check HTTP resources with HEAD or discover server capabilities with OPTIONS

Key features

  • SSRF protection with redirect and DNS-address validation
  • HTTP methods with JSON or raw request bodies
  • HTML-to-markdown, plain-text, and reader-mode extraction
  • Metadata, link, feed, robots.txt, and sitemap parsing
  • Response size, timeout, redirect, authentication, and retry controls

Tools15

What Fetch MCP Server lets your agent do. Expand a tool for its parameters.

Verified live~6.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

10/10 checks healthy over the last 45d

What it can do

From the 15 tools this server returned when we ran it; 15 declare their own safety hints.

Can delete or modify data · 4Makes network requests · 15Read-only tools · 11
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age191 days
Maintainers1

Observed 2026-10-28 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 14d ago via OSV.dev · @yawlabs/fetch-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads1.9kPackage downloads in the last 30 days.
Last commit12d agoMost recent push to the default branch.
Tools exposed15Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Fetch MCP Server works

What Fetch MCP Server does

Fetch MCP Server exposes web retrieval and extraction operations through a stdio-based Model Context Protocol interface. It can make GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS requests, returning response status, headers, content, redirect information, and either decoded text, parsed JSON, or base64 data.

For web content, it converts HTML to markdown or plain text, isolates article content in reader mode, and extracts page metadata. It also handles outbound-link discovery, robots.txt evaluation, sitemap parsing, and RSS or Atom feed parsing. These capabilities make it suitable for agents that need to inspect public web resources without implementing separate HTTP and HTML-processing logic.

How it works

The package runs as an MCP server over stdio and can be started with npx -y @yawlabs/fetch-mcp@latest, installed globally with npm, or launched through the fetch-mcp command. MCP clients provide tool arguments such as an absolute URL, request headers, timeout, retry count, redirect limit, and response-size limit.

HTTP request tools accept basic authentication and bearer-token options. POST, PUT, PATCH, and DELETE also accept either a raw string body or a structured JSON value; the JSON form sets the content type automatically. Responses can be truncated at a configured byte limit, and retries are available for selected transient statuses including 408, 425, 429, and 5xx responses.

HTML extraction removes scripts and other non-content elements before producing markdown or text. Reader mode selects likely article containers such as article, main, or common CMS content classes, then returns the title, optional byline, word count, and markdown.

Setup and configuration

Running on Node.js requires version 22.19 or newer. A basic MCP configuration uses the fetch server name, npx as the command, and -y @yawlabs/fetch-mcp@latest as its arguments. The package can also be added with mcph add fetch.

Private, loopback, link-local, and other non-public destinations are blocked by default. To permit an individual request to use private hosts, the server operator must set FETCH_MCP_ALLOW_PRIVATE_HOSTS to 1, true, yes, or on, and the tool call must also set allow_private_hosts to true. This setting is intended for environments where internal-network access is deliberate.

Tools and capabilities

  • http_get, http_post, http_put, http_patch, http_delete, http_head, and http_options make controlled HTTP requests.
  • fetch_html_to_markdown creates compact markdown with headings, lists, links, and fenced code blocks.
  • fetch_html_to_text returns readable text while preserving block-level line breaks.
  • fetch_reader extracts the main article and returns title, byline, word count, and markdown.
  • fetch_meta reads titles, descriptions, canonical URLs, language, robots directives, Open Graph, Twitter Card, article properties, icons, feeds, and JSON-LD.
  • fetch_links resolves HTTP and HTTPS links to absolute URLs and marks them internal or external.
  • fetch_robots evaluates crawlability using parsed robots.txt rules.
  • fetch_sitemap supports sitemap indexes, gzip-compressed XML, URL metadata, and partial-failure warnings.
  • fetch_feed parses RSS 2.0 and Atom 1.0 feeds into feed metadata and entries.

Limitations and notes

Redirect destinations are rechecked for allowed schemes and public addressing, and sensitive authorization headers are removed when redirects cross origins. Large responses and metadata collections are capped, so extraction results may indicate truncation. PATCH idempotency depends on the target API, while POST requests can submit again if repeated. Private-host access should be enabled only where the agent is allowed to reach internal services.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Fetch MCP Server

Fetch MCP Server is an MCP server that connects AI assistants to HTTP and web content, with tools for HTTP methods, HTML-to-markdown conversion, reader-mode extraction, metadata, links, feeds, robots.txt, and sitemaps. It runs over stdio and applies SSRF protections to web requests by default.

Install it with `npx -y @yawlabs/fetch-mcp@latest` for one-off launches or `npm i -g @yawlabs/fetch-mcp` for a global installation. It can then be configured as a stdio MCP server or added with `mcph add fetch`.

Yes, Fetch MCP Server works with Cursor because it runs as a standard stdio MCP server. Add the server command and its `npx -y @yawlabs/fetch-mcp@latest` arguments to Cursor's MCP configuration.

SSRF protection is enabled by default and blocks private, loopback, link-local, multicast, and other restricted addresses, as well as non-HTTP schemes. Each redirect hop is checked again, DNS results are validated and pinned, and private-host requests require both an operator environment setting and a per-call opt-in.

Node.js 22.19 or newer is required when running the package on Node. The launcher checks the version before starting, while installations under oam do not depend on the Node version.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewFetch MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/fetch-mcp-server?style=directory)](https://allmcps.com/mcp/fetch-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/fetch-mcp-server"><img src="https://allmcps.com/api/badge/fetch-mcp-server?style=directory" alt="Fetch MCP Server on AllMCPs" /></a>