MCP文件下载器🚀
一种模型上下文协议(MCP)服务器,使Claude Desktop能够从网络下载文件,并为JavaScript密集型网站提供自动浏览器回退功能。
](https://modelcontextprotocol.io)  ](https://nodejs.org)
🎯 为什么存在
Claude Desktop无法本地下载文件。此MCP服务器弥合了这一差距,提供:
- 具有智能重定向处理的直接HTTP下载
- 复杂网站的基于浏览器的自动回退
- 与Claude Desktop无缝集成
非常适合从使用JavaScript作为下载链接的网站下载数据集、文档和文件。
✨ 特性
- 智能下载策略:先尝试HTTP,必要时回退到浏览器
- 10级重定向支持:处理复杂的重定向链
- JavaScript渲染:将Playwright用于需要浏览器执行的网站
- 灵活的文件命名:从URL自动命名或接受自定义名称
- 交叉平台的:适用于Windows、macOS和Linux
🚀 快速开始
先决条件
- Node.js 18+
- 克劳德桌面
安装
- 克隆存储库:
git clone https://github.com/yourusername/mcp-file-downloader.git
cd mcp-file-downloader- 安装依赖项:
npm install- 添加到Claude桌面配置:
视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"file-downloader": {
"command": "node",
"args": ["C:\\path\\to\\mcp-file-downloader\\download-server.js"]
}
}
}- 重新启动克劳德桌面
📖 用法
在Claude Desktop中,您现在可以下载文件:
"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)参数
- 网址 (必填):下载网址
- 文件名 (可选):另存为此文件名。可以包含完整路径
- 使用浏览器 (可选):强制浏览器下载方法
🔧 高级用法
强制浏览器模式
对于始终需要JavaScript的网站:
"Download https://complex-site.com/file.zip using browser mode"自定义保存位置
"Download https://example.com/data.csv to ~/Documents/mydata.csv"📂 项目结构
mcp-file-downloader/
├── download-server.js # MCP server implementation
├── package.json # Dependencies
├── LICENSE # MIT license
├── README.md # This file
└── CLAUDE_HINTS.md # Advanced documentation🤝 贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
开发设置
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
🐛 故障排除
“重定向太多”错误
该网站可能需要JavaScript。使用 use_browser: true 参数。
下载失败
检查Node.js是否具有下载目录的写入权限。
克劳德没有看到工具
- 验证claude_desktop_config.json中的路径是否正确
- 完全退出Claude Desktop(检查系统托盘)
- 重新启动克劳德桌面
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📧 联系
如有疑问或支持,请在GitHub上发布问题。
______________________________________________________________________
备注:这是一个独立的项目,与Anthropic或Claude没有正式联系。
