# Mcp File Downloader

> Model Context Protocol server that enables Claude Desktop to download files from the web with automatic browser fallback for JavaScript-heavy sites

- **Type:** MCP server
- **Install:** `agentstack add mcp-abs222222-mcp-file-downloader`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [abs222222](https://agentstack.voostack.com/s/abs222222)
- **Installs:** 0
- **Category:** [Web & Browser](https://agentstack.voostack.com/c/web-and-browser)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [abs222222](https://github.com/abs222222)
- **Source:** https://github.com/abs222222/mcp-file-downloader

## Install

```sh
agentstack add mcp-abs222222-mcp-file-downloader
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# MCP File Downloader 🚀

A Model Context Protocol (MCP) server that enables Claude Desktop to download files from the web, with automatic browser fallback for JavaScript-heavy sites.

[](https://modelcontextprotocol.io)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org)

## 🎯 Why This Exists

Claude Desktop can't natively download files. This MCP server bridges that gap, providing:
- Direct HTTP downloads with smart redirect handling
- Automatic browser-based fallback for complex sites
- Seamless integration with Claude Desktop

Perfect for downloading datasets, documents, and files from sites that use JavaScript for download links.

## ✨ Features

- **Smart Download Strategy**: Tries HTTP first, falls back to browser if needed
- **10-Level Redirect Support**: Handles complex redirect chains
- **JavaScript Rendering**: Uses Playwright for sites requiring browser execution
- **Flexible File Naming**: Auto-names from URL or accepts custom names
- **Cross-Platform**: Works on Windows, macOS, and Linux

## 🚀 Quick Start

### Prerequisites
- Node.js 18+
- Claude Desktop

### Installation

1. Clone the repository:
```bash
git clone https://github.com/yourusername/mcp-file-downloader.git
cd mcp-file-downloader
```

2. Install dependencies:
```bash
npm install
```

3. Add to Claude Desktop config:

**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "file-downloader": {
      "command": "node",
      "args": ["C:\\path\\to\\mcp-file-downloader\\download-server.js"]
    }
  }
}
```

4. Restart Claude Desktop

## 📖 Usage

In Claude Desktop, you can now download files:

```
"Download this file: https://example.com/data.csv"

"Get the PDF from https://example.com/report.pdf and save it as quarterly_report.pdf"

"Download https://site-with-javascript.com/dynamic-file.xlsx" 
(automatically uses browser if HTTP fails)
```

### Parameters

- **url** (required): The URL to download from
- **filename** (optional): Save as this filename. Can include full path
- **use_browser** (optional): Force browser download method

## 🔧 Advanced Usage

### Force Browser Mode
For sites that always need JavaScript:
```
"Download https://complex-site.com/file.zip using browser mode"
```

### Custom Save Location
```
"Download https://example.com/data.csv to ~/Documents/mydata.csv"
```

## 📂 Project Structure

```
mcp-file-downloader/
├── download-server.js    # MCP server implementation
├── package.json          # Dependencies
├── LICENSE              # MIT license
├── README.md           # This file
└── CLAUDE_HINTS.md     # Advanced documentation
```

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

### Development Setup

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## 🐛 Troubleshooting

### "Too many redirects" error
The site likely requires JavaScript. Use `use_browser: true` parameter.

### Downloads failing
Check that Node.js has write permissions to your download directory.

### Claude doesn't see the tool
1. Verify the path in claude_desktop_config.json is correct
2. Fully quit Claude Desktop (check system tray)
3. Restart Claude Desktop

## 📝 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- Built for the [Model Context Protocol](https://modelcontextprotocol.io) ecosystem
- Uses [Playwright](https://playwright.dev) for browser automation
- Inspired by the need to download ETF holdings data in Claude Desktop

## 📧 Contact

For questions or support, please open an issue on GitHub.

---

**Note**: This is an independent project and not officially affiliated with Anthropic or Claude.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [abs222222](https://github.com/abs222222)
- **Source:** [abs222222/mcp-file-downloader](https://github.com/abs222222/mcp-file-downloader)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-abs222222-mcp-file-downloader
- Seller: https://agentstack.voostack.com/s/abs222222
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
