home / mcp / website downloader mcp server

Website Downloader MCP Server

MCP server to download entire websites

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "pskill9-website-downloader": {
      "command": "node",
      "args": [
        "/path/to/website-downloader/build/index.js"
      ]
    }
  }
}

The Website Downloader MCP Server gives you a practical tool to fetch entire websites with wget and adapt them for offline viewing. It preserves the site structure, fetches all requisites like CSS and images, and rewrites links so you can browse the downloaded copy locally as if it were the live site.

How to use

You run the Website Downloader MCP Server through an MCP client, which starts a local server process that performs website downloads on demand. Specify the target URL and optional output location and depth to tailor how deeply the tool crawls. Use this to quickly capture pages for offline access, archiving, or testing offline workflows. The server handles all the heavy lifting and ensures the downloaded site mirrors the original structure with working local links.

How to install

Prerequisites you need before installing the Website Downloader MCP Server include wget, Node.js, and npm. Ensure wget is available on your system because the downloader relies on it for fetching website content.

Install wget on macOS with Homebrew, on Debian/Ubuntu Linux, on Red Hat/Fedora, or on Windows as shown below.

# macOS
brew install wget

# Linux Debian/Ubuntu
sudo apt-get update
sudo apt-get install wget

# Linux Red Hat/Fedora
sudo dnf install wget

# Windows
# Option 1: Chocolatey
choco install wget

# Option 2: Manual download
# Download wget.exe and place it in a PATH directory, e.g., C:\\Windows\\System32
```} ,{

Next, build and configure the MCP server. Install dependencies, build the project, and add the MCP configuration that points to the local runtime for the site downloader.

npm install
npm run build

# Add to MCP settings (-example snippet)
{
  "mcpServers": {
    "website_downloader": {
      "command": "node",
      "args": ["/path/to/website-downloader/build/index.js"]
    }
  }
}

Additional notes

The downloader tool is named download_website and accepts the following parameters: url (required), outputPath (optional, defaults to the current directory), and depth (optional, defaults to infinite; 0 means only the specified page). The depth setting lets you control how many levels of linked pages to download.

The server’s features include recursive downloading, full asset collection (CSS, images, scripts), local-link conversion, proper file extensions, and site-structure preservation, all constrained to the same domain to avoid cross-site downloads.

Available tools

downloadWebsite

Downloads a website recursively using wget, preserves site structure, converts links for local use, and fetches all requisites like CSS and images.