fetch-mcp

fetch-mcp avatar

by zcaceres

Community Servers

A flexible HTTP fetching Model Context Protocol server.

What is fetch-mcp

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.

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.

Leave a Comment

Comments section will be available soon. Stay tuned!

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.