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
- File size validation (configurable, default 500MB)
- Automatic filename sanitization
- Unique filename generation to prevent overwrites
- Concurrent downloads with limits
- Security: SSRF protection, path traversal protection, MIME type validation
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 sync
Configuration
Claude Desktop
Add to your configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"url-downloader": {
"command": "uvx",
"args": ["mcp-url-downloader"]
}
}
}
Usage
download_files
Download multiple files from URLs.
download_single_file
Download a single file with optional custom filename.
Rate Limits
- Maximum 100 URLs per
download_filesrequest - Maximum 10 concurrent downloads
- URL length limited to 2048 characters
- Timeout range: 1-300 seconds
- File size range: 1-5000 MB
Development
# Run tests
uv run pytest
Metadata
Release files for mcp-url-downloader 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_url_downloader-0.1.0.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_url_downloader-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / mcp_url_downloader-0.1.0.tar.gz
| Download URL | mcp_url_downloader-0.1.0.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
caf02ccf3d490d32a98185d1c9c9d0a41cf5ec26b56b2242840fe5519ef09dee
|
|
BLAKE2b-256 checksum How to use checksums |
ced89c0266e38720299a5917def6d2a026ddf014dd6f03cc9eb350763d84c0b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|
Release files / mcp_url_downloader-0.1.0-py3-none-any.whl
| Download URL | mcp_url_downloader-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c49c4e3a9857ad4a7b52e0faafebe26b3f5193a721ea2f6418e7390bb3aa9a4a
|
|
BLAKE2b-256 checksum How to use checksums |
8af9b535f3d953949742c697697d2514d4b6becbd1c0f8b814f97273567ea8b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|