fetch-mcp-server
Fetch MCP Server is a versatile MCP implementation that facilitates communication through server-sent events and offers features such as web content fetching and Google search capabilities, specifically designed for AI applications.
Fetch MCP Server
A Model Context Protocol (MCP) server implementation with web content fetching capabilities, enabling server-sent events (SSE) based communication.
Overview
Fetch MCP Server provides a Model Context Protocol implementation that allows for real-time communication using Server-Sent Events (SSE). It features web content fetching and search capabilities, designed to work with AI applications and provides a standardized way of managing and communicating with models and resources.
Features
- Model Context Protocol (MCP) implementation
- Server-Sent Events (SSE) for real-time communication
- Web content fetching with Playwright
- Google search capability with SERP results
- HTML to Markdown conversion
- Resource templating and management
Prerequisites
- Node.js (v14 or higher recommended)
- Yarn package manager
- Kubernetes cluster (for deployment)
Installation
Clone the repository and install dependencies:
git clone git@github.com:pnparadise/fetch-mcp-server.git
cd fetch-mcp-server
yarn install
Usage
Starting the Server
To start the server in development mode:
yarn dev
This will run the server with the MCP inspector for debugging.
To start the server in production mode:
yarn start
By default, the server runs on port 3001. You can override this by setting the PORT
environment variable:
PORT=5000 yarn start
Endpoints
/sse
- SSE endpoint for establishing persistent connections/messages
- Endpoint for sending messages to the MCP server
Available Tools
fetchUrls
- Fetch multiple URLs and convert their content to markdownsearch
- Search and retrieve content from web pages with SERP results
Project Structure
src/index.ts
- Main entry point of the applicationsrc/mcp-server.ts
- Implementation of the MCP server and tool definitionssrc/sse-server.ts
- SSE server implementation using Expressk8s/
- Kubernetes deployment configurations
Dependencies
- @modelcontextprotocol/sdk - SDK for Model Context Protocol
- Express - Web framework for Node.js
- Playwright - Browser automation library
- Turndown - HTML to Markdown converter