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 projecthttps://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:
fetchtakes a URL and returns Markdown, or raw content whenrawis true. - Read in chunks: it returns up to 5,000 characters by default, and
start_indexcontinues 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-txtturns that off), and--user-agentand--proxy-urlcustomize headers and proxying. - Prompt entry: a
fetchprompt lets the user fetch a URL by hand. - Several install paths: besides
uvx, you canpip install mcp-server-fetchand run it withpython -m mcp_server_fetch, or use the officialmcp/fetchDocker 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.