Skip to main content

File Downloader MCP Server

一个简单而强大的文件下载MCP(Model Context Protocol)服务器,支持从URL下载文件到指定目录并自定义文件名。

功能特性

  • 🌐 支持HTTP/HTTPS URL下载
  • 📁 自定义保存目录
  • 📝 自定义文件名
  • 🔄 自动创建目录
  • 📊 显示下载进度和文件信息
  • 🛡️ 错误处理和重试机制
  • 📋 自动文件类型检测
  • 🔒 文件名冲突处理

安装

使用uv(推荐)

# 克隆或创建项目
cd file-downloader-mcp

# 安装依赖
uv sync

# 运行服务器
uv run file-downloader-mcp

开发模式

# 开发模式运行(支持热重载)
uv run python -m file_downloader_mcp.server

# 或者直接运行
uv run src/file_downloader_mcp/server.py

MCP客户端配置

Claude Desktop配置

在Claude Desktop的配置文件中添加:

{
  "mcpServers": {
    "file-downloader": {
      "command": "uv",
      "args": ["run", "file-downloader-mcp"],
      "cwd": "/path/to/file-downloader-mcp"
    }
  }
}

Cursor IDE配置

在.cursor/mcp.json中添加:

{
  "mcpServers": {
    "file-downloader": {
      "command": "uv",
      "args": ["run", "file-downloader-mcp"],
      "cwd": "/path/to/file-downloader-mcp"
    }
  }
}

使用方法

工具:download_file

下载文件的主要工具,支持以下参数:

参数

  • url (必需): 要下载的文件URL
  • save_path (可选): 保存目录路径,默认为./downloads
  • filename (可选): 自定义文件名,默认从URL提取

使用示例

  1. 基本下载
{
  "url": "https://example.com/image.jpg"
}
  1. 指定保存目录
{
  "url": "https://example.com/document.pdf",
  "save_path": "/Users/username/Downloads"
}
  1. 自定义文件名
{
  "url": "https://example.com/file.zip",
  "save_path": "./my_files",
  "filename": "custom_name.zip"
}
  1. 完整参数示例
{
  "url": "https://github.com/user/repo/archive/main.zip",
  "save_path": "./projects",
  "filename": "repo_backup.zip"
}

特性说明

自动文件类型检测

服务器会根据HTTP响应的Content-Type自动为文件添加合适的扩展名:

  • image/jpeg → .jpg
  • image/png → .png
  • application/pdf → .pdf
  • application/zip → .zip
  • 等等...

文件名冲突处理

如果目标文件已存在,会自动添加数字后缀:

  • file.txt → file_1.txt
  • image.jpg → image_1.jpg

错误处理

  • 网络错误自动重试
  • 无效URL检测
  • 权限错误提示
  • HTTP状态码错误处理

开发

项目结构

file-downloader-mcp/
├── pyproject.toml          # 项目配置
├── README.md              # 说明文档
├── src/
│   └── file_downloader_mcp/
│       ├── __init__.py    # 包初始化
│       └── server.py      # 主服务器代码
└── tests/                 # 测试文件(可选)

运行测试

uv run pytest

代码格式化

uv run ruff format .
uv run ruff check .

许可证

MIT License

Metadata

Release files for file-downloader-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for file-downloader-mcp 0.1.1
File Size Uploaded
file_downloader_mcp-0.1.1.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for file-downloader-mcp 0.1.1
File Interpreter ABI Platform
file_downloader_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.3 kB

Release files / file_downloader_mcp-0.1.1.tar.gz

Download URL file_downloader_mcp-0.1.1.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4b23b84d6545d2a2646691d18ac6c27666ff40ef3ea197736b99362c1a71c884
BLAKE2b-256 checksum
How to use checksums
cf96ec005700c0ff5ab5c77ce13a58ff4f2df3134c28859d9c66d0ae7acf9e41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.4

Release files / file_downloader_mcp-0.1.1-py3-none-any.whl

Download URL file_downloader_mcp-0.1.1-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
92e37e927f9ce5655c9be4028215ad5437ee80cb34d52b25d3ece5485e085ed4
BLAKE2b-256 checksum
How to use checksums
cb715a4d6cb032c1a4d49d9b653cfb995fb61c17801fcff354ce87272d996029
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page