trackmcp
Back to directory

A flexible HTTP fetching Model Context Protocol server. TypeScript-based implementation. Trusted by 600+ developers. Trusted by 600+ developers.

630 stars TypeScriptAI & Machine Learning Updated Nov 2, 2025

Documentation

Fetch MCP Server

fetch mcp logo
npm version

An MCP server for fetching web content in multiple formats — HTML, JSON, plain text, Markdown, readable article content, and YouTube transcripts.

Tools

All tools accept the following common parameters:

ParameterTypeRequiredDescription
`url`stringYesURL to fetch
`headers`objectNoCustom headers to include in the request
`max_length`numberNoMaximum characters to return (default: 5000)
`start_index`numberNoStart from this character index (default: 0)
`proxy`stringNoProxy URL (e.g. `http://proxy:8080`)
  • 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, 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.

Installation

As an MCP server

Add to your MCP client configuration:

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

As a CLI

bash
npx mcp-fetch   [flags]

Or install globally:

bash
npm install -g mcp-fetch-server
mcp-fetch   [flags]

CLI Usage

code
mcp-fetch   [flags]

Commands

CommandDescription
`html`Fetch a URL and return raw HTML
`markdown`Fetch a URL and return Markdown
`readable`Fetch a URL and return article content as Markdown (via Readability)
`txt`Fetch a URL and return plain text
`json`Fetch a URL and return JSON
`youtube`Fetch a YouTube video transcript

Flags

FlagDescription
`--max-length `Maximum characters to return
`--start-index `Start from this character index
`--proxy `Proxy URL
`--lang `Language code for YouTube transcripts (default: `en`)
`--help`Show help message
`--version`Show version

Examples

bash
# Fetch a page as markdown
mcp-fetch markdown https://example.com

# Extract article content without boilerplate
mcp-fetch readable https://example.com/blog/post

# Get a YouTube transcript in Spanish
mcp-fetch youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ --lang es

# Fetch with a length limit
mcp-fetch html https://example.com --max-length 10000

# Fetch through a proxy
mcp-fetch json https://api.example.com/data --proxy http://proxy:8080

Environment Variables

VariableDescription
`DEFAULT_LIMIT`Default character limit for responses (default: `5000`, set to `0` for no limit)
`MAX_RESPONSE_BYTES`Maximum response body size in bytes (default: `10485760` / 10 MB)

Example with a custom limit:

json
{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": ["mcp-fetch-server"],
      "env": {
        "DEFAULT_LIMIT": "50000"
      }
    }
  }
}

Features

  • Fetch web content as HTML, JSON, plain text, or Markdown
  • Extract article content with Mozilla Readability (strips ads, nav, boilerplate)
  • Extract YouTube video transcripts (via `yt-dlp` or direct extraction)
  • Proxy support for requests behind firewalls
  • Pagination with `max_length` and `start_index`
  • Custom request headers
  • SSRF protection (blocks private/localhost addresses and DNS rebinding)
  • Response size limits to prevent memory exhaustion

Development

bash
bun install
bun run dev     # start with watch mode
bun test        # run tests
bun run build   # build for production

License

This project is licensed under the MIT License.

Frequently asked questions

What is fetch-mcp?

fetch-mcp is A flexible HTTP fetching Model Context Protocol server. TypeScript-based implementation. Trusted by 600+ developers. Trusted by 600+ developers.

How do I install fetch-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is fetch-mcp open source?

Yes — it is hosted on GitHub at https://github.com/zcaceres/fetch-mcp and has 630 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP