Fetch Mcp
Fetches web content in various formats such as HTML, JSON, plain text, and Markdown from specified URLs. It can return raw HTML content and JSON data from various online sources.
Author

zcaceres
Quick Info
Actions
Tags
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 requestmax_length
(number, optional): Maximum length to fetch (default 5000, can change via environment variable)start_index
(number, optional): Used together with max_length to retrieve contents piece by piece, 0 by default
- 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 requestmax_length
(number, optional): Maximum length to fetch (default 5000, can change via environment variable)start_index
(number, optional): Used together with max_length to retrieve contents piece by piece, 0 by default
- 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 requestmax_length
(number, optional): Maximum length to fetch (default 5000, can change via environment variable)start_index
(number, optional): Used together with max_length to retrieve contents piece by piece, 0 by default
- 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 requestmax_length
(number, optional): Maximum length to fetch (default 5000, can change via environment variable)start_index
(number, optional): Used together with max_length to retrieve contents piece by piece, 0 by default
- 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
Usage
To use the server, you can run it directly:
npm start
This will start the Fetch MCP Server running on stdio.
Environment variables
- DEFAULT_LIMIT - sets the default size limit for the fetch (0 = no limit)
Usage with Desktop App
To integrate this server with a desktop app, add the following to your app's server configuration:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": [
"mcp-fetch-server"
],
"env": {
"DEFAULT_LIMIT": "50000" // optionally change default limit
}
}
}
}
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 dev
to start the TypeScript compiler in watch mode - Use
npm test
to run the test suite
License
This project is licensed under the MIT License.