MCP Video Downloader
by sydasif
README.md
# MCP Video Downloader
An MCP (Model Context Protocol) server for downloading videos and audio from various platforms using yt-dlp.
## Features
- Video and audio downloads with configurable quality
- Progress tracking via SQLite database
- Worker-based architecture with child process isolation
- Security-first design with URL validation and SSRF protection
- Batch download support
- Cancellation and retry mechanisms
- Automatic cleanup of old files
- Health checks
- Docker support
- MCP server with stdio and HTTP transport options
## Architecture
The system consists of:
- **MCP Server**: Exposes tools for inspecting URLs, starting downloads, checking status, etc.
- **Worker**: Processes download jobs in isolated child processes
- **Database**: SQLite database for storing job state and progress
- **Services**: Business logic for metadata extraction, downloads, cleanup, etc.
## Development
This project follows the Python standards defined in `~/.claude/docs/index.md`.
### Setup
```bash
# Clone the repository
git clone <repository-url>
cd mcp-video-downloader
# Install dependencies
uv sync
# Run tests
uv run pytest
```
### Running
```bash
# Run the MCP server (stdio transport)
uv run python -m mcp_video_downloader.mcp.server
# Run the worker
uv run python -m mcp_video_downloader.worker
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues