Website MCP Server

Download website to a local directory (including all css, images, js, etc.)

Local serverstdio

What is the Website MCP Server?

Download website to a local directory (including all css, images, js, etc.)

What it needs from you

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
urlsArray of objects which contain urls to download and filenames for them. **_Required_**. javascript scrape({ urls: [ 'http://nodejs.org/', // Will be saved with default filename 'index.html' {url: 'http://nodejs.org/about
directoryString, absolute path to directory where downloaded files will be saved. Directory should not exist. It will be created by scraper. **_Required_**. How to download website to existing directory and why it's not supported
sourcesArray of objects to download, specifies selectors and attribute values to select files for downloading. By default scraper tries to download all possible resources. Scraper uses cheerio to select html elements so selecto
recursiveBoolean, if true scraper will follow hyperlinks in html files. Don't forget to set maxRecursiveDepth to avoid infinite downloading. Defaults to false.
maxRecursiveDepthPositive number, maximum allowed depth for hyperlinks. Other dependencies will be saved regardless of their depth. Defaults to null - no maximum recursive depth set.
maxDepthPositive number, maximum allowed depth for all dependencies. Defaults to null - no maximum depth set. In most of cases you need [maxRecursiveDepth](#maxRecursiveDepth) instead of this option.
requestObject, custom options for http module [got](https://github.com/sindresorhus/got#options) which is used inside website-scraper. Allows to set retries, cookies, userAgent, encoding, etc. javascript // use same request opt
subdirectoriesArray of objects, specifies subdirectories for file extensions. If null all files will be saved to directory. javascript /* Separate files into directories: - img for .jpg, .png, .svg (full path /path/to/save/img) - js f
defaultFilename
prettifyUrlsBoolean, whether urls should be 'prettified', by having the defaultFilename removed. Defaults to false.
ignoreErrorsBoolean, if true scraper will continue downloading resources after error occurred, if false - scraper will finish process and return error. Defaults to false.
urlFilterFunction which is called for each url to check whether it should be scraped. Defaults to null - no url filter will be applied. javascript // Links to other websites are filtered out by the urlFilter scrape({ urls: ['http
filenameGeneratorString (name of the bundled filenameGenerator). Filename generator determines path in file system where the resource will be saved.
requestConcurrencyNumber, maximum amount of concurrent requests. Defaults to Infinity.

How to install the Website MCP Server

{
  "mcpServers": {
    "website-scraper": {
      "command": "npx",
      "args": ["-y", "website-scraper"],
      "env": {
        "DEBUG": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
DEBUGConfiguration value read at startup.Optional

Example prompts to try

  • “Use Website to urls.”
  • “Use Website to directory.”
  • “Use Website to sources.”

Frequently asked questions

Download website to a local directory (including all css, images, js, etc.) Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.