URL下载服务

一个基于模型上下文协议(MCP)的服务,允许AI助手从URL下载文件到本地文件系统,支持单文件和多文件并发下载。

  • by dmitryglhf
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 dmitryglhf/url-download-mcp

使用说明

MCP URL 下载器

一个模型上下文协议(MCP)服务器,使AI助手能够从URL下载文件到本地文件系统。

特点/特性

  • 从URL下载单个或多个文件,支持并发下载
  • 文件大小验证(可配置,默认500MB)
  • 生成唯一文件名以防止覆盖
  • 安全

安装

# 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

配置

Claude Desktop(可译为“克劳德桌面版”或根据具体语境简化为“克劳德桌面”)

要将服务器与Claude集成,请将以下内容添加到您的 claude_desktop_config.json 文件:

{
  "mcpServers": {
    "url-downloader": {
      "command": "uvx",
      "args": ["mcp-url-downloader"]
    }
  }
}

工具

download_single_file

从URL下载单个文件,可选自定义文件名。

参数:

  • url (字符串,必填):要下载的文件的URL
    • 必须是有效的HTTP/HTTPS URL
    • 最大长度:2048个字符
  • output_dir (字符串,可选):保存文件的目录
    • 默认值: ~/Downloads/mcp-downloads/
    • 必须是一个有效的可写目录路径
  • filename (字符串,可选):保存文件时使用的自定义文件名
    • 如果未提供,则从URL中提取
    • 将自动进行消毒
    • 扩展将被保留或检测到
  • timeout (数字,可选):下载超时时间(以秒为单位)
    • 默认: 60
    • 范围: 1-300
  • max_size_mb (数字,可选):文件最大大小(MB)
    • 默认: 500
    • 范围: 1-5000

download_files

并发地从多个URL下载文件。

参数:

  • urls (字符串数组,必填):要下载的URL列表
    • 每个URL必须是有效的HTTP/HTTPS
    • 最大值:每次请求100个URL
    • 每个URL的最大长度:2048个字符
  • output_dir (字符串,可选):保存所有文件的目录
    • 默认: ~/Downloads/mcp-downloads/
    • 所有文件都将保存到此目录
  • timeout (数字,可选):每个文件的下载超时时间(以秒为单位)
    • 默认值: 60
    • 范围: 1-300
  • max_size_mb (数字,可选):每个文件的最大大小(以MB为单位)
    • 默认值: 500
    • 范围: 1-5000

速率限制

  • 每最多100个URL download_files 请求
  • 最大并发下载数:10(可配置至最高50)
  • URL长度限制为2048个字符
  • 超时范围:1-300秒
  • 文件大小范围:1-5000 MB

发展

# Run tests
uv run pytest