# zcaceres/fetch-mcp [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/zcaceres/fetch-mcp  
**GitHub Stars:** 823  
**npm Downloads (last month):** 10082  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/zcaceres-fetch-mcp

## Description
An MCP server to flexibly fetch JSON, text, and HTML data

## Tools
Capabilities this server exposes over MCP:

- **fetch_html** — Fetch a website and return its raw HTML content.
- **fetch_markdown** — Fetch a website and return its content converted to Markdown.
- **fetch_txt** — Fetch a website and return plain text with HTML tags, scripts, and styles removed.
- **fetch_json** — Fetch a URL and return the JSON response.
- **fetch_readable** — Fetch a website and extract the main article content using [Mozilla Readability](https://github.com/mozilla/readability), returned as Markdown. Strips navigation, ads, and boilerplate. Ideal for articles and blog posts.
- **fetch_youtube_transcript** — Fetch a YouTube video's captions/transcript. Uses `yt-dlp` if available, otherwise extracts directly from the page. Accepts an additional `lang` parameter (default: `"en"`) to select the caption language.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "fetch-mcp": {
    "command": "npx",
    "args": ["-y","mcp-fetch"]
  }
}
```

## Documentation

## What zcaceres/fetch-mcp MCP server does

The zcaceres/fetch-mcp MCP server exposes web-fetching operations through the Model Context Protocol. It can return a page as raw HTML, convert it to Markdown, or remove tags, scripts, and styles to produce plain text. A separate JSON operation returns the response from a URL as JSON.

For longer pages, the server supports character-based response controls. Callers can set `max_length` to limit returned content and `start_index` to begin at a later character position. Custom HTTP headers and a proxy URL can also be supplied per request.

Article-oriented extraction is available through `fetch_readable`. It uses Mozilla Readability to identify the main article and returns that content as Markdown while removing navigation, advertisements, and other page boilerplate. `fetch_youtube_transcript` retrieves captions or transcripts from YouTube and accepts a `lang` parameter, which defaults to `en`.

## How it works

Each MCP tool requires a `url`. The common optional inputs are `headers`, `max_length`, `start_index`, and `proxy`. The default maximum response length is 5,000 characters unless changed through the request or the `DEFAULT_LIMIT` environment variable.

YouTube transcript retrieval uses `yt-dlp` when it is available. If that dependency is not available, the server attempts direct extraction from the YouTube page. The requested caption language is selected with the tool’s `lang` parameter.

The project includes protections against requests to private or localhost addresses and DNS rebinding. It also limits response bodies to reduce memory usage; the default maximum is 10 MB and can be changed with `MAX_RESPONSE_BYTES`.

## Setup and configuration

Install the zcaceres/fetch-mcp MCP server by configuring an MCP client to run the published `mcp-fetch-server` package with `npx`. A direct configuration uses the `mcp-fetch-server` package as the command argument. `DEFAULT_LIMIT` sets the default character limit, with `0` disabling that limit, while `MAX_RESPONSE_BYTES` controls the maximum response body size in bytes.

The same project provides a CLI package command named `mcp-fetch`. Its commands include `html`, `markdown`, `readable`, `txt`, `json`, and `youtube`. CLI flags cover response length, starting character position, proxy selection, and YouTube caption language.

## Tools and capabilities

- `fetch_html`: returns raw HTML.
- `fetch_markdown`: converts fetched content to Markdown.
- `fetch_txt`: returns text with HTML tags, scripts, and styles removed.
- `fetch_json`: returns a URL’s JSON response.
- `fetch_readable`: extracts primary article content as Markdown.
- `fetch_youtube_transcript`: retrieves YouTube captions or transcripts by language.
- Custom headers, proxy URLs, pagination-style offsets, and response limits.

## Limitations and notes

The zcaceres/fetch-mcp MCP server is a fetch and extraction layer rather than a site-specific API client. The supplied material does not document authentication flows, JavaScript browser rendering, or support for named MCP clients. YouTube transcript results depend on captions or transcript data being available and on the server’s extraction path. Requests are subject to the server’s private-address protections and response-size limits.

The project is licensed under MIT. Its README also documents Bun-based development commands for installing dependencies, running watch mode, testing, and building, but those commands are for development rather than the normal MCP client setup.

_Full upstream README: https://allmcps.com/mcp/zcaceres-fetch-mcp/readme_

