url-download-mcp
This MCP server enables AI assistants to securely download files from HTTP/HTTPS URLs to the local filesystem with comprehensive validation and control features.
Core Capabilities:
Single & batch downloads - Download individual files or up to 100 files concurrently
Configurable limits - File size validation (1-5000 MB, default 500MB) and timeout settings (1-300 seconds, default 60 seconds)
Smart file handling - Automatic unique filename generation to prevent overwrites, custom output directories (default ~/Downloads/mcp-downloads/)
Detailed results - Returns file paths, sizes, content types, and success/failure status for each download
Security features - URL validation and size restrictions for safe operations
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@url-download-mcp download the PDF from https://example.com/report.pdf to my desktop"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP URL Downloader
A Model Context Protocol (MCP) server that enables AI assistants to download files from URLs to the local filesystem.
Features
Download single or multiple files from URLs with concurrent support
File size validation (configurable, default 500MB)
Unique filename generation to prevent overwrites
Security
Related MCP server: Website Downloader
Installation
# Using uvx (recommended)
uvx mcp-url-downloader
# Using pip
pip install mcp-url-downloader
# From source
git clone https://github.com/dmitryglhf/mcp-url-downloader.git
cd mcp-url-downloader
uv syncConfiguration
Claude Desktop
To integrate server with Claude, add the following to your claude_desktop_config.json file:
{
"mcpServers": {
"url-downloader": {
"command": "uvx",
"args": ["mcp-url-downloader"]
}
}
}Tools
download_single_file
Download a single file from a URL with optional custom filename.
Parameters:
url(string, required): URL of the file to downloadMust be a valid HTTP/HTTPS URL
Maximum length: 2048 characters
output_dir(string, optional): Directory to save the fileDefault:
~/Downloads/mcp-downloads/Must be a valid writable directory path
filename(string, optional): Custom filename for the saved fileIf not provided, extracted from URL
Will be sanitized automatically
Extension will be preserved or detected
timeout(number, optional): Download timeout in secondsDefault:
60Range:
1-300
max_size_mb(number, optional): Maximum file size in MBDefault:
500Range:
1-5000
download_files
Download multiple files from URLs concurrently.
Parameters:
urls(array of strings, required): List of URLs to downloadEach URL must be valid HTTP/HTTPS
Maximum: 100 URLs per request
Each URL max length: 2048 characters
output_dir(string, optional): Directory to save all filesDefault:
~/Downloads/mcp-downloads/All files will be saved to this directory
timeout(number, optional): Download timeout in seconds per fileDefault:
60Range:
1-300
max_size_mb(number, optional): Maximum file size in MB per fileDefault:
500Range:
1-5000
Rate Limits
Maximum 100 URLs per
download_filesrequestMaximum concurrent downloads: 10 (configurable up to 50)
URL length limited to 2048 characters
Timeout range: 1-300 seconds
File size range: 1-5000 MB
Development
# Run tests
uv run pytestAvailable Tools
2 toolsdownload_filesB
Download multiple files from URLs and save to local filesystem.
Inputs: urls (required), output_dir, timeout, max_size_mb. Returns: Response model for download operations
download_single_fileC
Download a single file from URL with optional custom filename.
Inputs: url (required), output_dir, filename, timeout, +1 more. Returns: Download result model with file information
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have overlapping purposes—both download files from URLs—but their descriptions help differentiate them: one handles multiple files, the other a single file with optional custom naming. However, the core functionality is similar, which could lead to confusion about when to use each.
The tool names follow a consistent verb_noun pattern with snake_case throughout: 'download_files' and 'download_single_file'. Both start with 'download' and clearly describe their scope, making the naming predictable and easy to understand.
With only 2 tools, the server feels thin for a URL download domain, as it lacks operations like checking download status, handling errors, or managing downloads. While the tools cover basic downloading, the count is borderline for providing a complete surface.
The tool set is significantly incomplete for a URL download server. It lacks essential operations such as validating URLs, pausing/resuming downloads, handling authentication, or providing progress updates. This will likely cause agent failures in more complex scenarios.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Persistent file storage for AI agents. Save files over MCP, get a link a human can open.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to download images from URLs and perform basic image optimization tasks.220 npm17Apache 2.0
- FlicenseBqualityDmaintenanceProvides a tool to download entire websites using wget. It preserves the website structure and converts links to work locally.1157-
- AlicenseBqualityDmaintenanceThis server enables users to download entire websites and their assets for offline access, supporting configurable depth and concurrency settings.17MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that allows AI models to safely access and interact with local file systems, enabling reading file contents, listing directories, and retrieving file metadata.10 npm10MIT