website downloader
Provides a tool to download entire websites using wget. It preserves the website structure and converts links to work locally.
Provides a tool to download entire websites using wget. It preserves the website structure and converts links to work locally.
This MCP server provides a tool to download entire websites using wget. It preserves the website structure and converts links to work locally.
The server requires wget
to be installed on your system.
Using Homebrew:
brew install wget
sudo apt-get update
sudo apt-get install wget
sudo dnf install wget
Using Chocolatey:
choco install wget
Or download the binary from: https://eternallybored.org/misc/wget/
The server provides a tool called download_website
with the following parameters:
url
(required): The URL of the website to downloadoutputPath
(optional): The directory where the website should be downloaded. Defaults to the current directory.depth
(optional): Maximum depth level for recursive downloading. Defaults to infinite. Set to 0 for just the specified page, 1 for direct links, etc.{
"url": "https://example.com",
"outputPath": "/path/to/output",
"depth": 2 // Optional: Download up to 2 levels deep
}
The website downloader: - Downloads recursively with infinite depth - Includes all page requisites (CSS, images, etc.) - Converts links to work locally - Adds appropriate extensions to files - Restricts downloads to the same domain - Preserves the website structure
Build the server:
npm install
npm run build
Add to MCP settings: ```json { "mcpServers": { "website-downloader": { "command": "node", "args": ["/path/to/website-downloader/build/index.js"] } } }
[
{
"description": "Download an entire website using wget",
"inputSchema": {
"properties": {
"depth": {
"description": "Maximum depth level for recursive downloading (optional, defaults to infinite)",
"minimum": 0,
"type": "number"
},
"outputPath": {
"description": "Path where the website should be downloaded (optional, defaults to current directory)",
"type": "string"
},
"url": {
"description": "URL of the website to download",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "download_website"
}
]