Fetch logo

Fetch

Fetches public web pages and converts their content to markdown for MCP-enabled AI agents.

Install Fetch

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

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

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

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

Fetch MCP server gives AI agents a read-only `fetch` tool for retrieving web pages and extracting their contents as markdown. It supports response truncation with configurable length and offsets, plus an option to return raw content. Use it for web research, documentation lookup, or processing pages that do not require a dedicated API. The server runs over MCP stdio and can be launched with uvx, pip, or Docker.

Use cases

  • Fetch public documentation for an agent
  • Extract article text as markdown
  • Read long web pages in chunks
  • Inspect raw web responses
  • Query public reference pages

Key features

  • URL fetching over MCP
  • HTML-to-markdown extraction
  • Raw content output
  • Chunked response reading
  • robots.txt handling
  • Private-address protection

Tools1

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

Self-reported~19 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 Today

Recent health check succeeded.

47/47 checks healthy over the last 89d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · mcp-server-fetch (PyPI)

Adoption & maintenance

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

GitHub stars91kStargazers on the source repository.
Last commit1d agoMost recent push to the default branch.
Tools exposed1Callable tools this server registers over MCP.
Directory activity9 viewsConfig copies, upvotes, and views on AllMCPs.

How Fetch works

What Fetch MCP server does

Fetch MCP server retrieves content from URLs on the internet and presents it to an MCP-compatible client. Its primary fetch tool converts HTML into markdown so language models can work with page text more efficiently. A matching fetch prompt is also available for requesting a URL and extracting its contents.

The tool is read-only and can reach arbitrary internet hosts. It is suited to agents that need to inspect documentation, articles, public reference pages, or other web resources without a separate site-specific integration.

How it works

The required url argument identifies the page to retrieve. Results are limited to 5,000 characters by default; max_length changes that limit, while start_index begins extraction at a later character position. Agents can use successive requests with different offsets to read longer pages in sections. Set raw to true to receive the response without markdown conversion.

Fetch speaks MCP over stdio and supports both the 2025-11-25 initialization flow and the newer 2026-07-28 discovery flow. Tool results report fetch failures, schema errors, refused addresses, HTTP failures, robots.txt refusals, and unusable proxy settings as errors that the model can inspect.

Setup and configuration

The recommended launch method uses uvx, which runs mcp-server-fetch without a separate package installation. Alternatively, install the package with pip and start it with python -m mcp_server_fetch. A Docker image is also available as mcp/fetch.

Claude Desktop configurations use the fetch server name with uvx, Python, or Docker. VS Code supports the same launch choices through its MCP configuration, either in user settings or a workspace .vscode/mcp.json file. Node.js is optional and enables a different HTML simplifier; it is not required for the basic setup.

Tools and capabilities

  • Fetch a URL and extract its contents as markdown.
  • Return raw content instead of converted markdown.
  • Limit response size with max_length.
  • Read truncated pages incrementally using start_index.
  • Respect robots.txt rules for model-initiated tool requests by default.
  • Check redirect destinations and robots.txt hosts for non-public addresses.

Limitations and notes

By default, requests to loopback, private, link-local, cloud metadata, and other non-globally routable addresses are blocked. The --allow-private-ips argument disables this protection for use cases such as development servers or intranet pages, but doing so can expose sensitive internal data. The address check occurs before requests and redirects, yet it cannot prevent every DNS rebinding scenario.

Tool fetches obey robots.txt by default, and failures to retrieve or interpret a site’s rules can cause the request to be refused. Add --ignore-robots-txt to the launch arguments to disable that behavior. The server requires the MCP Python SDK 2.x, within the mcp>=2.3,<3 range.

Reviews

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

Frequently Asked Questions about Fetch

Fetch is an MCP server that connects AI agents to web pages on the internet through a `fetch` tool and a matching `fetch` prompt. It retrieves a URL, extracts HTML as markdown, supports raw responses, and lets clients limit or paginate returned content with `max_length` and `start_index`.

Install it with `uvx`, pip, or Docker. The recommended approach runs `uvx mcp-server-fetch`; pip users can install `mcp-server-fetch` and launch `python -m mcp_server_fetch`. Docker users can run the `mcp/fetch` image with an interactive container.

Add a `fetch` entry to Claude Desktop’s MCP server settings and launch it with `uvx`, Python, or Docker. The uvx configuration uses the `uvx` command with `mcp-server-fetch` as its argument.

Yes, Fetch works with VS Code through its MCP configuration. Add the server to user settings or a workspace `.vscode/mcp.json` file, using `uvx`, Docker, or the Python module as the launch command.

Fetch blocks private and other non-public addresses by default. Add `--allow-private-ips` to permit requests to development servers or intranet pages, but this reduces protection against exposing internal or sensitive data.

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 AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/fetch?style=directory)](https://allmcps.com/mcp/fetch)
HTML Embed
<a href="https://allmcps.com/mcp/fetch"><img src="https://allmcps.com/api/badge/fetch?style=directory" alt="Fetch on AllMCPs" /></a>