RUNLOCALAIv38
->Will it run?Best GPUCompareTroubleshootStartLearnPulseModelsHardwareToolsBench
Run check
RUNLOCALAI

Independently operated catalog for local-AI hardware and software. Hand-written verdicts. Source-cited claims. Reproducible commands when we have them.

OP·Eruo Fredoline
DIR
  • Models
  • Hardware
  • Tools
  • Benchmarks
TOOLS
  • Will it run?
  • Compare hardware
  • Cost vs cloud
  • Choose my GPU
  • Prompting kits
  • Quick answers
REF
  • All buyer guides
  • Learn local AI
  • Methodology
  • Glossary
  • Errors KB
  • Trust
EDITOR
  • About
  • Author
  • How we make money
  • Editorial policy
  • Contact
LEGAL
  • Privacy
  • Terms
  • Sitemap
MAIL · MONTHLY DIGEST
Get monthly local AI changes
Monthly recap. No spam.
DISCLOSURE

Some links on this site are affiliate links (Amazon Associates and other first-class retailers). When you buy through them, we earn a small commission at no extra cost to you. Affiliate links do not influence our verdicts — there are cards we rate highly that we don't have affiliate relationships with, and cards that sell well that we refuse to recommend. Read more →

© 2026 runlocalai.coIndependently operated
RUNLOCALAI · v38
  1. >
  2. Home
  3. /Tools
  4. /MCP Fetch Server
server
Open source
free (OSS, MIT)

MCP Fetch Server

Reference MCP server for fetching and converting web content. Pulls a URL, runs HTML through a readability extractor, returns markdown the model can chunk and reason over. The lightweight web-reader pair to Brave Search — search returns links, fetch reads them.

By Eruo Fredoline·Last verified Jun 12, 2026·60,000 GitHub stars

Overview

What it is and how it works

MCP Fetch Server is one of the reference implementations maintained in the official modelcontextprotocol/servers repository — the same monorepo that ships the canonical filesystem, git, memory, and Brave Search servers Anthropic publishes as worked examples of the Model Context Protocol. Its job is narrow and well-defined: given a URL, retrieve the page, strip it down to readable content, and hand the result back to the calling model as markdown. It is not a browser, not a crawler, and not a search engine — it is the "read" half of a read/search pair, designed to be composed with something like mcp-server-brave-search (search returns candidate URLs, fetch retrieves and cleans the content of the one the model picks).

Architecturally, the server is a thin Python (or TypeScript, depending on which reference build you pull) process that speaks MCP over stdio, exposing a single primary tool — conventionally fetch — that takes a URL and optional parameters like max length or start index for pagination through long documents. Internally it does an HTTP GET, then runs the raw HTML through a readability-style extraction pass (the same class of algorithm that powers Firefox's Reader View and most "clip this article" browser extensions) to discard navigation chrome, ads, and boilerplate, converting what remains into markdown. Because MCP tool responses are token-budgeted, this conversion step matters more than it sounds: raw HTML is enormously wasteful of context relative to the actual prose content, and a naive fetch-and-dump would blow through a model's context window on a single moderately complex webpage.

The server also respects robots.txt by default in the reference implementation, which is a deliberate design choice consistent with the "well-behaved default agent" philosophy Anthropic has pushed across its reference MCP servers — it can be configured to ignore robots rules, but the default is polite crawling behavior, not maximal scraping capability. There's no JavaScript execution engine involved anywhere in the pipeline; it is a static HTTP fetch plus HTML-to-text/markdown transformation, nothing more.

Deployment patterns

The overwhelmingly common deployment is local, single-user, and stdio-based: added to a claude_desktop_config.json (or equivalent config for other MCP hosts) as a subprocess the client spawns on demand, typically via uvx mcp-server-fetch for the Python build or an npx invocation for the Node build. There's no persistent server process, no port to manage, no auth layer to configure — it starts when the host needs it and exits when the session ends. This is the same pattern as the other reference servers (filesystem, git, memory): zero infrastructure, config-file-only setup, appropriate for a developer wiring MCP into Claude Desktop, Claude Code, or a custom MCP client on their own laptop.

Homelab or team deployment is less common for this specific server because there's little to gain from centralizing it — unlike a database or filesystem MCP server, fetch has no state and no credentials worth sharing across a team, so most operators just let each client spawn its own instance locally. Where it does show up in shared infrastructure is inside orchestration frameworks (agent runners, RAG pipelines) that wire it in as one tool among several MCP servers exposed to a coordinator LLM — in that context it's typically containerized alongside the search server and whatever code-execution or memory servers the agent stack uses, still communicating over stdio or occasionally over an MCP-over-SSE bridge if the orchestrator needs it network-accessible. There is no GPU involvement at any point — this is pure I/O and text processing, so hardware sizing is a non-issue; the only real constraint is outbound network access and, if robots.txt enforcement is on, exposure to whatever access restrictions target sites impose.

How it compares

Within the "give my agent the ability to read a webpage" niche, the closest comparisons are Playwright MCP and Puppeteer-based MCP servers, and various commercial scraping-as-a-service MCP wrappers (Firecrawl MCP, Browserbase, etc.). Fetch trades capability for simplicity: Playwright MCP drives a real browser engine, so it handles JavaScript-rendered SPAs, login flows, cookie-gated content, and interactive navigation — but it's heavier to run, pulls in a full browser binary, and is noticeably slower per call. Fetch has none of that overhead; it's a single HTTP request plus a readability pass, which makes it fast and dependency-light but means it simply cannot see content that only exists after client-side rendering. Firecrawl and similar hosted scraping MCP servers go further than fetch in the other direction — they handle JS rendering, anti-bot evasion, and structured extraction as a paid API, which is more capable but reintroduces a third-party dependency and cost that fetch, as a pure local OSS tool, avoids entirely. Compared to rolling your own requests + BeautifulSoup/trafilatura tool, fetch's main value is that it's already packaged as a standard MCP server with sane defaults — you gain nothing technically over hand-rolling it, but you skip the boilerplate of wrapping it in MCP's tool-call schema yourself.

Best use cases and honest limitations

Fetch is the right choice when the content you need is server-rendered static or mostly-static HTML — documentation sites, blog posts, news articles, Wikipedia, GitHub README pages, API references — and you want the model to read it without standing up browser infrastructure. Paired with a search MCP server, it forms a minimal but genuinely useful research loop for coding agents and general-purpose assistants. Its tiny dependency surface also makes it an easy, low-risk addition to an MCP toolchain: there's not much attack surface or maintenance burden.

It falls over immediately on anything gated behind JavaScript rendering, authentication, or interactive state — single-page apps that hydrate content client-side, logged-in dashboards, infinite-scroll feeds, or sites requiring form submission simply won't return usable content, since there's no JS evaluation and no session/auth handling. Anyone who needs those has to reach for Playwright MCP or a hosted scraping service instead, and should not expect fetch to be a drop-in substitute. It's also worth noting this is a reference implementation, not a hardened production scraper — it lacks the retry logic, proxy rotation, and rate-limit handling that dedicated scraping tools build in, so it's best suited to occasional, on-demand reads rather than bulk crawling workloads.

Stack & relationships

How MCP Fetch Server relates to other entries in the catalog — recommended pairings, alternatives, dependencies, and edges to avoid. Each edge carries a one-line operator note from our editorial team.

MCP Fetch Server ↔ ecosystem

Recommended stack

  • Pairs with
    MCP Brave Search Server

    Search returns links; fetch reads them. The canonical web-research duo in the Anthropic reference set.

  • Pairs with
    Claude Code

    Fetch MCP is the default web-content reader for Claude Code workflows. Pairs with Brave Search MCP — search returns links, fetch reads them.

Alternatives

  • Alternative to
    Playwright MCP

    Fetch is for static HTML; Playwright handles JS-rendered pages, auth flows, and forms. Pick Playwright when readability extraction isn't enough.

  • Alternative to
    Firecrawl MCP

    Firecrawl handles JS-rendered pages and crawl-volume scenarios; mcp-server-fetch is for single-page static reads. Different operating points; not redundant.

Pros

  • Markdown conversion via readability built in
  • Tiny dependency surface
  • Composes naturally with mcp-server-brave-search

Cons

  • Not a full browser — JS-rendered pages need Playwright MCP
  • No JS evaluation or auth flows

Compatibility

Operating systems
macOS
Linux
Windows
GPU backends
n/a
LicenseOpen source · free (OSS, MIT)

Runtime health

Operator-grade signals on how actively MCP Fetch Server is being maintained, how fresh its measurements are, and what failure classes operators have flagged. Every label below is anchored to a real date or count — we never infer maintainer activity we can't show.

Release cadence

Derived from the most recent editorial signal on this row.

Active
Updated Jul 3, 2026

32 days since last refresh · source: enrichedAt

Benchmark freshness

How recent the editorial measurements on this runtime are.

0editorial benchmarks

No editorial benchmarks for this runtime yet.

Community reproduction

Submissions that match an editorial measurement on similar hardware.

0reproduced reports

No community reproductions on file yet.

Get MCP Fetch Server

Official site
https://modelcontextprotocol.io
GitHub
https://github.com/modelcontextprotocol/servers

Frequently asked

Is MCP Fetch Server free?

Yes — MCP Fetch Server is free to use and open-source.

What operating systems does MCP Fetch Server support?

MCP Fetch Server supports macOS, Linux, Windows.

Does MCP Fetch Server need a GPU?

No — MCP Fetch Server runs on CPU; it does not require or use a GPU.
See something off?Report outdated·Suggest a correctionWe read every submission. Editorial review takes 1-7 days.

Reviewed by RunLocalAI Editorial. See our editorial policy for how we evaluate tools.

Related — keep moving

Compare hardware
  • RTX 4090 vs RTX 5090 →
  • Dual 3090 vs RTX 5090 (tensor-parallel) →
  • RTX 5090 vs H100 →
Buyer guides
  • Best GPU for local AI →
  • Best AI PC build under $2,000 →
When it doesn't work
  • vLLM CUDA version mismatch →
  • Tensor parallelism crash →
  • CUDA driver too old →
  • CUDA out of memory →
Recommended hardware
  • RTX 4090 (24 GB) →
  • RTX 5090 (32 GB) →
  • H100 PCIe (datacenter) →
Alternatives
SGLangText Generation Inference (TGI)ExoWeaviateQdrantNeo4j GraphRAGChromaRedis (vector search)
Before you buy

Verify MCP Fetch Server runs on your specific hardware before committing money.

Will it run on my hardware? →Custom hardware comparison →GPU recommender (4 questions) →