Search#Web scraping

Fetch MCP Server: the reference server for reading web pages

The Fetch server from the official MCP repo: one fetch tool that turns pages into Markdown and reads them in chunks. Free, keyless and minimal.

Project and installation docs

View project

https://github.com/modelcontextprotocol/servers

Often an agent only needs to read the link a user pasted, with no search API and no site crawl. Fetch MCP Server does exactly that: it fetches a page and converts the HTML to Markdown for the model. It lives in the official modelcontextprotocol/servers repository alongside the protocol itself; that repo had about 91k stars as of 2026-10-06.

What it does

  • Fetch a page: fetch takes a URL and returns Markdown, or raw content when raw is true.
  • Read in chunks: it returns up to 5,000 characters by default, and start_index continues from a given offset, so long pages can be read piece by piece.
  • robots.txt: model-initiated requests obey robots.txt by default (--ignore-robots-txt turns that off), and --user-agent and --proxy-url customize headers and proxying.
  • Prompt entry: a fetch prompt lets the user fetch a URL by hand.
  • Several install paths: besides uvx, you can pip install mcp-server-fetch and run it with python -m mcp_server_fetch, or use the official mcp/fetch Docker image.

Who it’s for

  • Anyone who wants a “read this link” ability in Claude Desktop or another client without signing up for an API.
  • Developers looking for a clean official example before writing their own MCP server.

Setup

Needs uv (with Node.js installed it uses a sturdier HTML simplifier). Client config:

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

Our take

This is the baseline for reading the web: free, keyless, one tool, almost no context cost. Unlike Firecrawl it doesn’t render JavaScript or crawl sites, so single-page apps often come back as an empty shell; switch to a browser or Firecrawl-style tool then. The README carries a prominent warning that it can reach local and internal IP addresses, so on a company network, guard against an agent being tricked into reading internal services. It also pins MCP Python SDK 1.x (mcp>=1.29.0,<2); the port to SDK 2.0 is still in progress, so don’t mix it into an environment already upgraded. Licensed MIT.