Fetch
Fetch web content as HTML, JSON, plain text, or Markdown.
Fetch MCP Server

This MCP server provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
Components
Tools
-
fetch_html
- Fetch a website and return the content as HTML
- Input:
url(string, required): URL of the website to fetchheaders(object, optional): Custom headers to include in the request
- Returns the raw HTML content of the webpage
-
fetch_json
- Fetch a JSON file from a URL
- Input:
url(string, required): URL of the JSON to fetchheaders(object, optional): Custom headers to include in the request
- Returns the parsed JSON content
-
fetch_txt
- Fetch a website and return the content as plain text (no HTML)
- Input:
url(string, required): URL of the website to fetchheaders(object, optional): Custom headers to include in the request
- Returns the text content of the webpage with HTML tags, scripts, and styles removed
-
fetch_markdown
- Fetch a website and return the content as Markdown
- Input:
url(string, required): URL of the website to fetchheaders(object, optional): Custom headers to include in the request
- Returns the content of the webpage converted to Markdown format
Resources
This server does not provide any persistent resources. It's designed to fetch and transform web content on demand.
Getting started
- Clone the repository
- Install dependencies:
npm install - Build the server:
npm run build
Installing via Smithery
To install fetch-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @goswamig/fetch-mcp --client claude
Usage
To use the server, you can run it directly:
npm start
This will start the Fetch MCP Server running on stdio.
Usage with Desktop App
To integrate this server with a desktop app, add the following to your app's server configuration:
{
"mcpServers": {
"fetch": {
"command": "node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}
Features
- Fetches web content using modern fetch API
- Supports custom headers for requests
- Provides content in multiple formats: HTML, JSON, plain text, and Markdown
- Uses JSDOM for HTML parsing and text extraction
- Uses TurndownService for HTML to Markdown conversion
Development
- Run
npm run devto start the TypeScript compiler in watch mode - Use
npm testto run the test suite
License
This project is licensed under the MIT License.
Related Servers
Bright Data
sponsorDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
transcriptor-mcp
An MCP server (stdio + HTTP/SSE) that fetches video transcripts/subtitles via yt-dlp, with pagination for large responses. Supports YouTube, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion. Whisper fallback — transcribes audio when subtitles are unavailable (local or OpenAI API). Works with Cursor and other MCP host
Query Table
A financial web table crawler using Playwright that queries data from multiple websites with fallback switching.
Apify
Extract data from any website with thousands of scrapers, crawlers, and automations
LinkRescue
MCP server that exposes LinkRescue's broken link scanning, monitoring, and fix suggestion capabilities to AI agents (Claude, Cursor, etc.).
Skrapr
An intelligent web scraping tool using AI and browser automation to extract structured data from websites.
comet-mcp
Connect Claude Code to Perplexity Comet browser for agentic web browsing, deep research, and real-time task monitoring
MCP Web Research Server
A server for web research that brings real-time information into AI models and researches any topic.
freesound-mcp
A Model Context Protocol (MCP) server that enables AI applications to search and download audio resources from the Freesound platform via natural language commands.
GeekNews MCP Server
Fetches and caches daily articles from GeekNews using web scraping.
YouTube Translate MCP
Access YouTube video transcripts and translations using the YouTube Translate API.