MCP ExplorerExplorer

Fetch

@zcacereson 12 days ago
421 MIT
FreeCommunity
Web Services
#fetch#web#api#html#json#markdown#plain text
A server that flexibly fetches HTML, JSON, Markdown, or plaintext.

Overview

What is Fetch

The Fetch MCP Server is a tool designed to fetch web content in various formats such as HTML, JSON, plain text, and Markdown. It allows users to retrieve data from specified URLs and convert them into easily usable formats.

Use cases

This server is useful for developers and data analysts who need to extract content from websites for various purposes, including web scraping, data analysis, content transformation, and creating documentation in different formats.

How to use

To use the Fetch MCP Server, start by cloning the repository, installing dependencies with ‘npm install’, and building the server using ‘npm run build’. You can run the server with ‘npm start’, and for desktop app integration, configure the server settings in your app’s configuration file.

Key features

Key features of the Fetch MCP Server include fetching web content using a modern fetch API, supporting custom headers for requests, providing output in multiple formats (HTML, JSON, plain text, Markdown), and utilizing JSDOM for HTML parsing and TurndownService for Markdown conversion.

Where to use

You can use the Fetch MCP Server in various environments, including local development setups, web applications, and desktop applications where there is a need to fetch and process web content dynamically.

Content

Fetch MCP Server

fetch mcp logo

This MCP server provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.

Fetch Server MCP server

Components

Tools

  • fetch_html

    • Fetch a website and return the content as HTML
    • Input:
      • url (string, required): URL of the website to fetch
      • headers (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 fetch
      • headers (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 fetch
      • headers (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 fetch
      • headers (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

  1. Clone the repository
  2. Install dependencies: npm install
  3. 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.

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 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.

Tools

fetch_html
Fetch a website and return the content as HTML
fetch_markdown
Fetch a website and return the content as Markdown
fetch_txt
Fetch a website, return the content as plain text (no HTML)
fetch_json
Fetch a JSON file from a URL

Comments